斐波那契数列
基本形式:
an=an-1+an-2
a0=1,a1=1,a2=2 。 (在不同的题目中,a0与a1值可能有所不同)
我们,变刷题来边讲解:
案例
讲解:
这题为力扣第509题,是一个非常标准且简单的斐波那契题目
由题易得:f(0)=0;f(1)=1;并且该数列满足斐波那契数列。我们知道斐波那契的特性是:
an =an-1+an-2 注意:这里的n是大于等于的2.
所以我们得把,n=0和n=1的情况单独提出,其余的另做表示。
关于n=0与n=1的情况,我们可以使用if语句来判读。
然后我们来分析一下,斐波那契的性质。用a来表示an-2,b来表示an-1,c来表示an
所以有 c = a+b。
当n=n+1时。
a=b=an-1;b=c=an;c=a+b=an+1;
那么n=n+2时,我们可以依次类推。
代码实现
class Solution:
def fib(self, n: int) -> int:
if n==0:
return 0
elif n==1:
return 1
else:
a,b=0,1
for i in range(1,n):
c=a+b
a=b
b=c
return c