算法:412. Fizz Buzz

Posted 架构师易筋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法:412. Fizz Buzz相关的知识,希望对你有一定的参考价值。

412. Fizz Buzz

Given an integer n, return a string array answer (1-indexed) where:

  • answer[i] == "FizzBuzz" if i is divisible by 3 and 5.
  • answer[i] == "Fizz" if i is divisible by 3.
  • answer[i] == "Buzz" if i is divisible by 5.
  • answer[i] == i if non of the above conditions are true.

Example 1:

Input: n = 3
Output: ["1","2","Fizz"]

Example 2:

Input: n = 5
Output: ["1","2","Fizz","4","Buzz"]

Example 3:

Input: n = 15

Output: ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]

Constraints:

1 <= n <= 104

不用余数发,效率高

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

以上是关于算法:412. Fizz Buzz的主要内容,如果未能解决你的问题,请参考以下文章

412-Fizz Buzz

LeetCode之412. Fizz Buzz

412. Fizz Buzz

Leetcode - 412. Fizz Buzz

LeetCode 412. Fizz Buzz

[LeetCode] 412. Fizz Buzz