题目:
Given an integer n, return a string array answer (1-indexed) where:
answer[i] == "FizzBuzz" if i is divisible by 3 and 5.
answer[i] == "Fizz" if i is divisible by 3.
answer[i] == "Buzz" if i is divisible by 5.
answer[i] == i (as a string) if none of the above conditions are true.
给定一数n,返回一个由字串组成的阵列,规则如下:
若x可被3和5整除,阵列第x个元素为"FizzBuzz"
若x仅可被3整除,阵列第x个元素为"Fizz"
若x仅可被5整除,阵列第x个元素为"Buzz"
若x不可被3和5整除,阵列第x个元素为x的字串型态
ex:input:15=>output: ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
我们对1~n的数(i)全部进行判断
class Solution: def fizzBuzz(self, n: int) -> List[str]: ans=[] for i in range(1,n+1): temp='' if i % 3==0: temp=temp+"Fizz" if i % 5==0: temp=temp+"Buzz" if temp=='': ans.append(str(i)) else: ans.append(temp) return ans
每次判断都设立一个空字串(temp)
若i可被3整除,在temp尾端加上"Fizz"
若i可被5整除,在temp尾端加上"Buzz"
要是temp经判断完是空字串,则于要回传的阵列(ans)append i的字串型态
反之则直接append temp
最后执行时间42ms(faster than 95.59%)
那我们下题见