LeetCodeブラシの質問インタビューの質問10-I。フィボナッチ数列

LeetCodeブラシの質問インタビューの質問10-I。フィボナッチ数列

どこに行くのかわかりませんが、もう途中です!
会ったことはありませんが、時間は急いでいますが、ユシに会いました。本当に素晴らしい運命です。ご来店ありがとうございました!
  • トピック
    関数を記述し、入力しn、最初のフィボナッチ(フィボナッチ)シリーズのnアイテムを見つけます。フィボナッチ数列の定義は次のとおりです。
    F(0) = 0,   F(1) = 1
    F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
    
    フィボナッチ数列は0と1で始まり、後続のフィボナッチ数は前の2つの数を加算することによって取得されます。
    答えは1e9 + 7(1000000007)を法とする必要があります。計算の初期結果が1000000008の場合は、1を返します。
示例 1 :
输入:n = 2
输出:1
示例 2 :
输入:n = 5
输出:5
  • ヒント
    • 0 <= n <= 100
  • コード1:
class Solution:
    def fib(self, n: int) -> int:
        n1, n2 = 0, 1
        for i in range(n):
           n1, n2 = n2, n1 + n2
        return n1 % 1000000007
# 执行用时 :36 ms, 在所有 Python3 提交中击败了84.48%的用户
# 内存消耗 :13.8 MB, 在所有 Python3 提交中击败了100.00%的用户
  • アルゴリズムの説明:
    フィボナッチ数列の法則を見つけてから、n1合計n2、つまりF(N)合計F(N - 1)、戻り値を徐々に更新n1し、モジュラスに注意を払います。

おすすめ

転載: blog.csdn.net/qq_34331113/article/details/106673159