Climbing Stairs
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?
动态规划大水题。类似斐波那契额数列。
class Solution {
public:
int climbStairs(int n) {
if(n == 0 || n == 1|| n == 2)return n;
int a =1,b=2,re = 0;
for(int i =3 ; i <= n ; i++)
{
re = a+b;
a =b;
b =re;
}
return re;
}
};
posted on 2014-03-01 14:50 pengyu2003 阅读(115) 评论(0) 收藏 举报
浙公网安备 33010602011771号