fibonacci求解
fibonacci 斐波那契数组编程上比较常见的数组(1 1 2 3 5 8 13 …),其定义为:
从第三个数字开始,每个数字都是前两个数字之和
求解的方法有:
递归,自顶向下求解:
int Fibonacci(int n) {
if(n == 0)
return 0;
if(n == 1)
return 1;
return Fibonacci(n-1) + Fibonacci(n-2);
}
非递归1:维持一个数组(DP)
// 非递归1
int Fib(int n){
int array[n] = {
0};
array[1] = 1;
for (int i = 2; i < n; i++)
array[i] = array[i-1] + array[i-2];
return array[n-1];
}
非递归2,维持n的前两个值(DP)