青海網(wǎng)站設(shè)計(jì)高端凌哥seo技術(shù)博客
1、題目
給你一個整數(shù)?n
?,找出從?1
?到?n
?各個整數(shù)的 Fizz Buzz 表示,并用字符串?dāng)?shù)組?answer
(下標(biāo)從 1 開始)返回結(jié)果,其中:
answer[i] == "FizzBuzz"
?如果?i
?同時是?3
?和?5
?的倍數(shù)。answer[i] == "Fizz"
?如果?i
?是?3
?的倍數(shù)。answer[i] == "Buzz"
?如果?i
?是?5
?的倍數(shù)。answer[i] == i
?(以字符串形式)如果上述條件全不滿足。
示例 1:
輸入:n = 3 輸出:["1","2","Fizz"]
示例 2:
輸入:n = 5 輸出:["1","2","Fizz","4","Buzz"]
示例 3:
輸入:n = 15 輸出:["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
提示:
1 <= n <= 104
?
2、解析
實(shí)現(xiàn)的是經(jīng)典的FizzBuzz問題,即對從1到n的每個整數(shù)進(jìn)行如下操作:如果該數(shù)能被3整除,就在答案中添加"Fizz";如果該數(shù)能被5整除,就在答案中添加"Buzz";如果該數(shù)能同時被3和5整除,就在答案中添加"FizzBuzz"。如果都不能,就將該數(shù)本身添加到答案中。
- 創(chuàng)建一個名為
answer
的空列表,用于存儲結(jié)果。 - 使用
for
循環(huán)遍歷從1到n的每個整數(shù)(在Python中,range(n)
生成一個從0到n-1的整數(shù)序列)。 - 在循環(huán)中,首先檢查當(dāng)前的整數(shù)(i+1)是否能被15整除(i+1)%15==0
)。如果能,就在
answer`中添加字符串"FizzBuzz",然后跳過本次循環(huán),準(zhǔn)備處理下一個整數(shù)。 - 如果不能被15整除,就檢查當(dāng)前的整數(shù)是否能被3整除((i+1)%3==0
)。如果能,就在
answer`中添加字符串"Fizz",然后跳過本次循環(huán)。 - 如果既不能被15整除,也不能被3整除,就檢查當(dāng)前的整數(shù)是否能被5整除((i+1)%5==0
)。如果能,就在
answer`中添加字符串"Buzz",然后跳過本次循環(huán)。 - 如果以上三個條件都不滿足,就說明當(dāng)前的整數(shù)既不能被3整除,也不能被5整除,更不能被15整除。這時,就將該整數(shù)轉(zhuǎn)換為字符串,并添加到
answer
中。 - 循環(huán)結(jié)束后,返回存儲結(jié)果的
answer
列表。
3、python代碼
class Solution:def fizzBuzz(self, n: int) -> list[str]:answer=[]for i in range(n):if (i+1)%15==0:answer.append("FizzBuzz")elif (i+1)%3==0:answer.append("Fizz" )elif (i+1)%5==0:answer.append("Buzz")else:answer.append(str(i+1))return answer
?4、運(yùn)行結(jié)果
?