饭不食,水不饮,题必须刷
C语言免费动漫教程,和我一起打卡! 《光天化日学C语言》
LeetCode 太难?先看简单题! 《C语言入门100例》
数据结构难?不存在的! 《数据结构入门》
LeetCode 太简单?算法学起来! 《夜深人静写算法》
斐波那契数,通常用 F ( n ) F(n) F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F ( 0 ) = 0 , F ( 1 ) = 1 F ( n ) = F ( n − 1 ) + F ( n − 2 ) F(0) = 0,F(1) = 1 \\ F(n) = F(n - 1) + F(n - 2) F(0)=0,F(1)=1F(n)=F(n−1)+F(n−2) 给定 n n n ,求 F ( n ) F(n) F(n)。
样例输入: 4
样例输出: 5
class Solution {
public:
int fib(int n) {
}
};
LeetCode 509. 斐波那契数
for
循环的次数,即 O ( n ) O(n) O(n)。class Solution {
int f[1000]; // (1)
public:
int fib(int n) {
f[0] = 0; // (2)
f[1] = 1;
for(int i = 2; i <= n; ++i) { // (3)
f[i] = f[i-1] + f[i-2];
}
return f[n]; // (4)
}
};
数学上的递推问题,在程序中不需要计算出通项公式,可以直接通过一个循环来搞定!