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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
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; } }; |
Climbing Stairs,布布扣,bubuko.com
原文:http://www.cnblogs.com/pengyu2003/p/3575062.html