本文主要是介绍LeetCode练习——数学(Fizz Buzz),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
写一个程序,输出从 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”
]
我的解法:
class Solution:def fizzBuzz(self, n: int) -> List[str]:listr = []for i in range(1,n+1):if i % 15 == 0:listr.append("FizzBuzz")elif i % 3 == 0:listr.append("Fizz")elif i % 5 == 0:listr.append("Buzz")else:listr.append(str(i))return listr
python运算符:https://www.runoob.com/python/python-operators.html
官方解法:字符串连接(比较优雅的解法) https://leetcode-cn.com/problems/fizz-buzz/solution/fizz-buzz-by-leetcode/
class Solution:def fizzBuzz(self, n):""":type n: int:rtype: List[str]"""# ans listans = []for num in range(1,n+1):divisible_by_3 = (num % 3 == 0)divisible_by_5 = (num % 5 == 0)num_ans_str = ""if divisible_by_3:# Divides by 3num_ans_str += "Fizz"if divisible_by_5:# Divides by 5num_ans_str += "Buzz"if not num_ans_str:# Not divisible by 3 or 5num_ans_str = str(num)# Append the current answer str to the ans listans.append(num_ans_str) return ans
力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xngt85/
这篇关于LeetCode练习——数学(Fizz Buzz)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!