美文网首页
算法 19 Fizz Buzz

算法 19 Fizz Buzz

作者: holmes000 | 来源:发表于2018-01-08 13:13 被阅读0次

    题目:
    编写一个输出数字从1到n的字符串表示的程序。
    但是对于三的倍数,它应该输出“Fizz”而不是数字,对于五的倍数输出“Buzz”的倍数。对于三和五输出“FizzBu​​zz”的倍数的数字。
    例:n = 15,
    返回:["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]

    思路:就是在判断n是3的倍数或者5的倍数,加入相应的字符串

    代码:

    public class Solution {
        public List<String> fizzBuzz(int n) {
            List<String> ret = new ArrayList<String>(n);
            for(int i=1,fizz=0,buzz=0;i<=n ;i++){
                fizz++;
                buzz++;
                if(fizz==3 && buzz==5){
                    ret.add("FizzBuzz");
                    fizz=0;
                    buzz=0;
                }else if(fizz==3){
                    ret.add("Fizz");
                    fizz=0;
                }else if(buzz==5){
                    ret.add("Buzz");
                    buzz=0;
                }else{
                    ret.add(String.valueOf(i));
                }
            }
            return ret;
        }
    }
    

    复杂度:时间 O(n), 空间 O(n)

    相关文章

      网友评论

          本文标题:算法 19 Fizz Buzz

          本文链接:https://www.haomeiwen.com/subject/vnemnxtx.html