📜  01: Fizz Buzz](. 03-算法 01-fizz-buzz (1)

📅  最后修改于: 2023-12-03 14:38:47.510000             🧑  作者: Mango

Fizz Buzz

Fizz Buzz是一道经典的编程题,通常是作为面试题目或者考察基础编程能力的绝佳选择。这道题的规则很简单,从1开始往上数数,遇到3的倍数就输出Fizz,遇到5的倍数就输出Buzz,如果同时是3和5的倍数就输出Fizz Buzz。如果不是倍数也不是同时是3和5的倍数,则输出数字本身。下面是Fizz Buzz的实现代码。

实现示例
def fizzBuzz(n):
    output = []
    for i in range(1, n+1):
        if i % 3 == 0 and i % 5 == 0:
            output.append("FizzBuzz")
        elif i % 3 == 0:
            output.append("Fizz")
        elif i % 5 == 0:
            output.append("Buzz")
        else:
            output.append(str(i))
    return output

这是Python语言下的Fizz Buzz题目的实现代码。将数字1到n的结果存储在一个列表里面,逐个判断列表中的元素是否是3或5的倍数,如果是,则将对应的字符串添加到输出列表中,否则将该数字本身添加到输出列表中。最后将输出列表返回。

输入参数

Fizz Buzz函数的输入参数是一个正整数n,表示要输出的数字范围,从1到n。

def fizzBuzz(n):
输出结果

Fizz Buzz函数的输出结果是一个由字符串和整数构成的列表,列表的长度为n,列表中的每个元素表示Fizz Buzz规则下数字的输出结果。

return output
复杂度分析

这个算法的时间复杂度是O(n),因为它需要遍历1到n的每个数字,对于每个数字的处理需要O(1)的时间。空间复杂度也是O(n),因为它需要一个数组存储1到n的数字的Fizz Buzz输出结果。限于n的大小,这是一个相对较小的复杂度。