大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
这么直接的问fibonacci,显然是迭代计算。递归的问题在于重复计算,而迭代则避免了这一点:递归是自顶向下,会重复产生子问题;而迭代是自底向上,一步一个脚印,没有重复的子问题。
class Solution {public:int Fibonacci(int n) {if(n<=1) return n;int a = 0; // f(0)int b = 1; // f(1)for(int i=2; i<=n; i++){b = a + b;a = b - a;}return b;}};