URL:https://www.lintcode.com/problem/fibonacci/description
描述
查找斐波纳契数列中第 N 个数。
所谓的斐波纳契数列是指:
- 前2个数是 0 和 1 。
- 第 i 个数是第 i-1 个数和第i-2 个数的和。
斐波纳契数列的前10个数字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...
在测试数据中第 N 个斐波那契数不会超过32位带符号整数的表示范围
样例
样例 1:
输入: 1
输出: 0
样例解释:
返回斐波那契的第一个数字,是0.
样例 2:
输入: 2
输出: 1
样例解释:
返回斐波那契的第二个数字是1.
(1)通过率:80%(使用递归)
在程序中添加方法:
static int lcc(int x){
if(x==1)
return 0;
else if(x==2)
return 1;
else
return lcc(x-1)+lcc(x-2);
}
在代码段中添加:
return lcc(n);
即可:
(2)通过率100%(使用数组)
在代码段中添加:
int A[100010];
A[0]=0;
A[1]=1;
for (int i = 2; i <n; i++) {
/* code */
A[i]=A[i-1]+A[i-2];
}
return A[n-1];
即可:
注意:
要巧用数组,数组是解决运行超时最方便的方法。
相似题目:
LintCode 题目:爬楼梯