トピック
アイテムnに記載されているフィボナッチ(フィボナッチ)数を求める関数、タイプNを書き込みます。フィボナッチフィボナッチ次のように数字列が定義されている:
F(0)= 0、F. 1 =(1)。
F(N)= F(N - 1)F. +(N - 2)、N> 1
フィボナッチフィボナッチは、前2つの数の和から導出された後、列の数は、0および1から始まります。
1000000008、1に戻る:答えはモジュロ1E9 + 7(十億七)を必要に応じて、初期の結果は次のように計算されます。
実施例1:
入力:n = 2の
出力:1
実施例2:
入力:N = 5つ
の出力:5
ヒント:
0 <= N - <= 100
注:HTTPS://leetcode-cn.com/problems/fibonacci-number/本トピックに係るマスタ509と同じ問題
出典:滞在ボタン(LeetCode)
リンクします。https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof
解決策1:反復法
class Solution:
def fib(self, n: int) -> int:
if n==0:
return 0
if n==1:
return 1
a,b = 0,1
for i in range(2,n+1):
a,b = b,a+b
return b%1000000007
対処方法2:初期化リスト
class Solution:
def fib(self, n: int) -> int:
if n<=0:
return 0
arr = [0]*(n+1)
arr[1] = 1
for i in range(2,n+1):
arr[i] = arr[i-1]+arr[i-2]
return arr[n]%1000000007