You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Solution 1: simple DP
public class Solution {
public int climbStairs(int n) {
if (n<=0) return 0;
int pre=0, res=1;
for (int i=1; i<=n; i++) {
int temp=res;
res=res+pre;
pre=temp;
}
return res;
}
}
没有评论:
发表评论