LeetCode面の質問10- I.フィボナッチ数(パイソン)

トピック
アイテム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
リリース8元の記事 ウォンの賞賛0 ビュー106

おすすめ

転載: blog.csdn.net/weixin_43346653/article/details/104334107