種類 : string
難度 : easy
題目 : 412.FizzBuzz
思維邏輯
- 創建一個有n個元素的列表(e.g. [“1”, “2”, … ,”n”])
- 當i可以被3,5整除時, i=”FizzBuzz”
- 當i可以被3整除時, i=”Fizz”
- 當i可以被5整除時, i=”Buzz”
解法
1 2 3 4 5 6 7 8 9 10 11 12 13
| class Solution: def fizzBuzz(self, n: int) -> List[str]: List_FB = [] for i in range(n): if (i+1)%3 == 0 and (i+1)%5 == 0: List_FB.append("FizzBuzz") elif (i+1)%3 == 0: List_FB.append("Fizz") elif (i+1)%5 == 0: List_FB.append("Buzz") else: List_FB.append(str(i+1)) return(List_FB)
|
難點
- 列表(list)新增元素要使用append函數
- list索引是從0開始
- 在類別(class)中定義方法(def)時, 仍需要宣告列表名稱才可回傳
最佳解法
Time 97.26%
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class Solution: def fizzBuzz(self, n: int) -> List[str]: ans = [] for i in range(1, n+1): divisible_by_3 = (i % 3 == 0) divisible_by_5 = (i % 5 == 0) if divisible_by_3 and divisible_by_5: ans.append("FizzBuzz") elif divisible_by_3: ans.append("Fizz") elif divisible_by_5: ans.append("Buzz") else: ans.append(str(i)) return ans
|