题目描述
写一个程序,输出从 1 到 n 数字的字符串表示。
-
如果 n 是3的倍数,输出“Fizz”;
-
如果 n 是5的倍数,输出“Buzz”;
-
如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
样例
n = 15,
返回:
[
“1”,
“2”,
“Fizz”,
“4”,
“Buzz”,
“Fizz”,
“7”,
“8”,
“Fizz”,
“Buzz”,
“11”,
“Fizz”,
“13”,
“14”,
“FizzBuzz”
]
python解法
class Solution:
def fizzBuzz(self, n: int) -> List[str]:
return ['Fizz' * (not i % 3) + 'Buzz' * (not i % 5) or str(i) for i in range(1, n+1)]
执行用时 : 56ms
内存消耗 : 14.8MB
题后反思:非常pythonic的一种写法,值得学习。设计到了字符串的重复、or运算符以及列表生成式。
C语言解法
执行用时 : ms
内存消耗 : MB
题后反思:
文中都是我个人的理解,如有错误的地方欢迎下方评论告诉我,我及时更正,大家共同进步