目录
1 题目:
斐波那契数 (通常用 F(n)
表示)形成的序列称为 斐波那契数列 。该数列由 0
和 1
开始,后面的每一项数字都是前面两项数字的和。也就是:
F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1
给定 n
,请计算 F(n)
。
2 参考:
3 代码:
C++:
class Solution {
public:
int fib(int n) {
if (n<2) return n;
int Fn[2];
Fn[0] = 0;
Fn[1] = 1;
for(int i = 2; i <= n; i++){
int temp = Fn[0] + Fn[1];
Fn[0] = Fn[1];
Fn[1] = temp;
}
return Fn[1];
}
};
Python3:
class Solution:
def fib(self, n: int) -> int:
if n < 2:
return n
f1, f2 = 0, 1
for _ in range(2, n+1):
temp = f1 + f2
f1, f2 = f2, temp
return f2
class Solution:
def fib(self, n: int) -> int:
if n < 2:
return n
Fn = [0, 1]
for _ in range(2, n+1):
temp = Fn[0] + Fn[1]
Fn[0], Fn[1] = Fn[1], temp
return Fn[1]