思路:肥波数列一般情况有两种:递归和非递归;其实这两种都比较好写,但是今天看到一个非常简洁的非递归方式,还是比较震撼,所以做此纪录。
class Solution:
def fib(self, n: int) -> int:
a, b = 0, 1
for _ in range(n):
a, b = b, a + b
return a % 1000000007
#因为题目说了要取模,所以记得取模。当然用大于小于号比较也是完全没有问题的
#不过这个写法还是相对简洁一些
n=5:
a,b = 1,1
a,b = 1,2
a,b = 2,3
a,b = 3,5
a,b = 5,8
#如果返回结果是b的话,那么对for _ in range(n-1):对于n-1就是有要求的必须大于等于0