• 412. Fizz Buzz


    题目:

    Write a program that outputs the string representation of numbers from 1 to n.

    But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.

    Example:

    n = 15,
    
    Return:
    [
        "1",
        "2",
        "Fizz",
        "4",
        "Buzz",
        "Fizz",
        "7",
        "8",
        "Fizz",
        "Buzz",
        "11",
        "Fizz",
        "13",
        "14",
        "FizzBuzz"
    ]

    链接:https://leetcode.com/problems/fizz-buzz/#/description

    3/22/2017

     1 public class Solution {
     2     public List<String> fizzBuzz(int n) {
     3         List<String> ret = new LinkedList<String>();
     4         
     5         for(int i = 1; i <= n; i++) {
     6             if (i % 3 != 0 && i % 5 != 0) {
     7                 ret.add(Integer.toString(i));
     8             } else {
     9                 StringBuilder sb = new StringBuilder();
    10                 if (i % 3 == 0) sb.append("Fizz");
    11                 if (i % 5 == 0) sb.append("Buzz");
    12                 ret.add(sb.toString());
    13             }
    14         }
    15         return ret;
    16     }
    17 }

    看到别人不用%的方法

     1 public class Solution {
     2     public List<String> fizzBuzz(int n) {
     3         List<String> ret = new ArrayList<String>(n);
     4         for(int i=1,fizz=0,buzz=0;i<=n ;i++){
     5             fizz++;
     6             buzz++;
     7             if(fizz==3 && buzz==5){
     8                 ret.add("FizzBuzz");
     9                 fizz=0;
    10                 buzz=0;
    11             }else if(fizz==3){
    12                 ret.add("Fizz");
    13                 fizz=0;
    14             }else if(buzz==5){
    15                 ret.add("Buzz");
    16                 buzz=0;
    17             }else{
    18                 ret.add(String.valueOf(i));
    19             }
    20         } 
    21         return ret;
    22     }
    23 }

    纪念一下,这是我3年前找现在工作时电话面试题,当年leetcode题非常少,我做了十几道最多不过三十道就找到工作了。如今水涨船高,欠下的账在慢慢补。

  • 相关阅读:
    课程作业一
    关于代码中的抄袭(不针对任何人)
    第四次作业
    第三次寒假作业-随笔汇总
    第三次寒假作业-合作
    第三次寒假作业-个人
    第二次寒假作业汇总
    问题
    第二次寒假作业——自学安排
    第二次寒假作业
  • 原文地址:https://www.cnblogs.com/panini/p/6610314.html
Copyright © 2020-2023  润新知