[LeetCode]412. 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”
]

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

題後反思:

文中都是我個人的理解,如有錯誤的地方歡迎下方評論告訴我,我及時更正,大家共同進步

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章