首页 > 代码库 > Climbing Stairs

Climbing Stairs

简单的动态规划题,一维数组就够了。递推公式是c[n] = c[n-1] + c[n-2],c[n]表示楼梯数为n时的上楼方法。

ps:第一提交时由于没有释放new的int空间,所以报了一个runtime error。

 1 class Solution { 2 public: 3     int climbStairs(int n) { 4         //c[n] = c[n-1] + c[n-2]; 5         int value; 6         if(n == 0) 7             return 0; 8         if(n == 1) 9             return 1;10         int* c = new int[n];11         c[0] = 1;12         c[1] = 2;13         for(int i=2;i<n;i++)14         {15             c[i] = c[i-1] + c[i-2];16         }17         value = http://www.mamicode.com/c[n-1];18         delete c;        //要释放,否则报错19         return value;20     }21 };

 

Climbing Stairs