答案和fibnacci数列一样,最简单的dp
首先不要用一个array存,只存当前两个数就可以
其次注意边界条件 n<=0 n=1 n=2
public class Solution {
public int climbStairs(int n) {
int first = 1;
int second = 1;
for ( int i = 2; i <= n; i ++){
int cur = first + second;
first = second;
second = cur;
}
return second;
}
}

本文介绍了一个经典的动态规划问题——爬楼梯问题,该问题与Fibonacci数列有着紧密联系。通过简单的双变量迭代算法实现,避免了使用数组带来的额外开销,并特别注意了边界条件。
399

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



