数学-Fizz Buzz

写一个程序,输出从 1 到 n 数字的字符串表示。

  1. 如果 n 是3的倍数,输出“Fizz”;

  2. 如果 n 是5的倍数,输出“Buzz”;

3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。

示例:

n = 15,

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

很简单的一道数学题,技巧就在先判断是否同时是3和5的倍数

对于每个数,判断它能不能同时被 3 和 5 整除,如果可以就把答案加入答案数组res里面。
如果不行,判断它能不能被 3 整除,如果可以,把 Fizz 加入加入答案数组res里面。
如果还是不行,判断它能不能被 5 整除,如果可以,把 Buzz 加入加入答案数组res里面。
如果以上都不行,把这个数加入答案列表。

复杂度分析

  • 时间复杂度: O(N)
  • 空间复杂度: O(1)
func fizzBuzz(n int) []string {
    if n <= 0 {
        return []string{}
    }
    res := make([]string,n)
    for i:=0;i

你可能感兴趣的:(数学-Fizz Buzz)