题目:爬楼梯

简单的斐波那契公式

要注意的是,这里使用递归会超时,然后最好不要使用数组(因为除了当前值的前两个,再往前的数据更本就用不到,应该使用临时变量,存储在栈上,用完就释放内存)

 1int climbStairs(int n)
 2{
 3    if(n <= 2) return n;
 4
 5    int prev1 = 1, prev2 = 2;
 6    int curr = 0;
 7    for(int i = 3; i <= n; i++)
 8    {
 9        curr = prev1 + prev2;
10        prev1 = prev2;
11        prev2 = curr;
12    }
13    return curr;
14}