劍指Offer題解【Python版】
阿新 • • 發佈:2018-12-09
題目連結
9. Fizz Buzz 問題
給你一個整數n. 從 1 到 n 按照下面的規則列印每個數:
- 如果這個數被3整除,列印
fizz
. - 如果這個數被5整除,列印
buzz
. - 如果這個數能同時被
3
和5
整除,列印fizz buzz
.
樣例
比如 n = 15
, 返回一個字串陣列:
[
"1", "2", "fizz",
"4", "buzz", "fizz",
"7", "8", "fizz",
"buzz", "11", "fizz",
"13", "14", "fizz buzz"
]
挑戰
Can you do it with only one if
class Solution: """ @param n: An integer @return: A list of strings. """ def fizzBuzz(self, n): # write your code here res = [] for i in range(1, n + 1): if i % 15 == 0: res.append("fizz buzz") elif i % 3 == 0: res.append("fizz") elif i % 5 == 0: res.append("buzz") else: res.append(str(i)) return res
366. 斐波納契數列
查詢斐波納契數列中第 N 個數。
所謂的斐波納契數列是指:
- 前2個數是 0 和 1 。
- 第 i 個數是第 i-1 個數和第i-2 個數的和。
斐波納契數列的前10個數字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...
樣例
給定 1
,返回 0
給定 2
,返回 1
class Solution: """ @param n: an integer @return: an ineger f(n) """ def fibonacci(self, n): # write your code here f, g = 0, 1 for i in range(1, n): f, g = g, f + g return f