天天看點

<LeetCode天梯>Day043 Fizz Buzz(按部就班) | 初級算法 | Python

以下為我的天梯積分規則:

每日至少一題:一題積分+10分

若多做了一題(或多一種方法解答),則當日積分+20分(+10+10)

若做了三道以上,則從第三題開始算+20分(如:做了三道題則積分-10+10+20=40;做了四道題則積分–10+10+20+20=60)

初始分為100分

若差一天沒做題,則扣積分-10分(周六、周日除外注:休息)

堅持!!!

初級算法

刷題目錄

數學

<LeetCode天梯>Day043 Fizz Buzz(按部就班) | 初級算法 | Python
<LeetCode天梯>Day043 Fizz Buzz(按部就班) | 初級算法 | Python
<LeetCode天梯>Day043 Fizz Buzz(按部就班) | 初級算法 | Python

題幹

給你一個整數 n ,找出從 1 到 n 各個整數的 Fizz Buzz 表示,并用字元串數組 answer(下标從 1 開始)傳回結果,其中:

answer[i] == “FizzBuzz” 如果 i 同時是 3 和 5 的倍數。

answer[i] == “Fizz” 如果 i 是 3 的倍數。

answer[i] == “Buzz” 如果 i 是 5 的倍數。

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”]

模拟

直接根據題意就來了吧!~不解釋

class Solution:
    def fizzBuzz(self, n: int) -> List[str]:
        t = list()

        for x in range(1, n+1):
            if x % 3 ==0 and x % 5 ==0:
                t.append('FizzBuzz')
            elif x %3 ==0:
                t.append('Fizz')
            elif x %5 ==0:
                t.append('Buzz')
            else:
                t.append(str(x))

        return t      
<LeetCode天梯>Day043 Fizz Buzz(按部就班) | 初級算法 | Python