实质上是求解斐波那契数列问题:F(n)=F(n-1)+F(n-2),其中F(0)=F(1)=1
class Solution {
public:
int climbStairs(int n) {
// if(n==1||n==0)
// return 1;
// return climbStairs(n-1)+climbStairs(n-2);
vector<int> table;
table.push_back(1);
table.push_back(1);
for(int i=2;i<=n;i++)
{
table.push_back(table[i-1]+table[i-2]);
}
return table[n];
}
};
本文探讨了一个经典的编程问题——爬楼梯,并通过动态规划的方法给出了一个高效的解决方案。该问题实质上等价于求解斐波那契数列,通过使用一个整数数组来记录中间结果避免了重复计算。
1198

被折叠的 条评论
为什么被折叠?



