0007 斐波那契数列
题目描述
- 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39
题目地址
- https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3
解题报告
基于递归实现
本题解由微信公众号
小猿刷题
提供, 错误之处, 欢迎指正.
/**
* 微信公众号"小猿刷题"
*/
public int Fibonacci(int N) {
if(N == 0){
return 0;
}
if(N == 1){
return 1;
}
return Fibonacci(N-2) + Fibonacci(N-1);
}
基于数组实现
本题解由微信公众号
小猿刷题
提供, 错误之处, 欢迎指正.
/**
* 微信公众号"小猿刷题"
*/
public int Fibonacci(int N) {
if(N == 0){
return 0;
}
if(N == 1){
return 1;
}
int [] arr = new int[N+1];
arr[0] = 0;
arr[1] = 1;
for(int i = 2; i <= N; i++){
arr[i] = arr[i-2] + arr[i-1];
}
return arr[N];
}
基于交换实现
本题解由微信公众号
小猿刷题
提供, 错误之处, 欢迎指正.
/**
* 微信公众号"小猿刷题"
*/
public int Fibonacci(int N) {
if(N == 0){
return 0;
}
if(N == 1){
return 1;
}
int a = 0;
int b = 1;
for(int i = 2; i <= N; i++){
int sum = a + b;
a = b;
b = sum;
}
return b;
}