412. Fizz Buzz

種類 : string
難度 : easy
題目 : 412.FizzBuzz

思維邏輯

  1. 創建一個有n個元素的列表(e.g. [“1”, “2”, … ,”n”])
  2. 當i可以被3,5整除時, i=”FizzBuzz”
  3. 當i可以被3整除時, i=”Fizz”
  4. 當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)

難點

  1. 列表(list)新增元素要使用append函數
  2. list索引是從0開始
  3. 在類別(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