剑指 Offer 10- I. 斐波那契数列

简介: 剑指 Offer 10- I. 斐波那契数列

链接: 原文链接.

class Solution:
    # 自己写的。
    # def fib(self, n: int) -> int:
    #     # 第0项是0,第1项是1
    #     f_n_2 = 0
    #     f_n_1 = 1
    #     # i是用来计数的,和n来作比较。
    #     # i为什么要命名为2?这样可以保证n为0或者1时不会进入下边的while循环。
    #     i = 2
    #     # 第n个值是多少
    #     sum_n = 0
    #     if n == 0:
    #         sum_n = 0
    #     elif n == 1:
    #         sum_n = 1
    #     while i < n+1:
    #         sum_n = f_n_2 + f_n_1
    #         f_n_2 = f_n_1
    #         f_n_1 = sum_n
    #         i += 1
    #     # 记得答案取模
    #     return sum_n % 1000000007
    # 大佬写的,也就是稍微简化一下自己写的。
    def fib(self, n: int) -> int:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a+b
        return a % 1000000007
  # 递归
  # def fib(n):
  #   if n < 3:
  #     return 1
  #   else:
  #     return fib(n-1) + fib(n-2) 
相关文章
|
3月前
|
存储 Java 测试技术
剑指 Offer 10- I. 斐波那契数列
剑指 Offer 10- I. 斐波那契数列
22 0
|
3月前
剑指 Offer 10- I:斐波那契数列
剑指 Offer 10- I:斐波那契数列
27 1
|
3月前
剑指 Offer 10- II:青蛙跳台阶问题
剑指 Offer 10- II:青蛙跳台阶问题
39 1
【LeetCode】剑指 Offer(22)
【LeetCode】剑指 Offer(22)
60 0
【LeetCode】剑指 Offer(27)
【LeetCode】剑指 Offer(27)
43 0
|
3月前
剑指 Offer 49:丑数
剑指 Offer 49:丑数
26 0
|
3月前
|
Java C++ Python
剑指 Offer 58 - II:左旋转字符串
剑指 Offer 58 - II:左旋转字符串
50 0
【LeetCode】剑指 Offer(4)
【LeetCode】剑指 Offer(4)
39 0
【LeetCode】剑指 Offer(13)
【LeetCode】剑指 Offer(13)
47 0
【LeetCode】剑指 Offer(9)
【LeetCode】剑指 Offer(9)
46 0