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?
简单动规。
1 class Solution {
2 public:
3 int climbStairs(
int n) {
4 if(n<
3)
5 return n;
6 int* path =
new int[n+
1];
7 path[
1]=
1;path[
2]=
2;
8 for(
int i=
3;i!=n+
1;i++
)
9 path[i]=path[i-
1]+path[i-
2];
10 return path[n];
11 }
12 };
转载于:https://www.cnblogs.com/desp/p/4340604.html
相关资源:JAVA上百实例源码以及开源项目