Recursive
class Solution {
public:
int climbStairs(int n) {
if (n==1) return 1;
if (n==2) return 2;
return climbStairs(n-1)+climbStairs(n-2);
}
};DP:
class Solution {
public:
int climbStairs(int n) {
int *A = new int[n+1];
A[1]=1;
A[2]=2;
for (int i=3; i<=n; i++) {
A[i]=A[i-1]+A[i-2];
}
return A[n];
}
};
489

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



