标签:
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 int climbStairs(int n) { //Runtime:0ms 2 int a=1,b=2; 3 if(n==1)return a; 4 if(n==2)return b; 5 int c=0; 6 for(int i=3;i<=n;i++){ 7 c=a+b; 8 a=b; 9 b=c; 10 } 11 return c; 12 } 13 int climbStairs2(int n){ ////Runtime:0ms 14 if(n <= 2)return n; 15 int* step = new int[n]; 16 step[0] = 1; 17 step[1] = 2; 18 for(int i = 2; i < n; i++)step[i] = step[i-1] + step[i-2]; 19 return step[n-1]; 20 }
【LeetCode】70 - Climbing Stairs
标签:
原文地址:http://www.cnblogs.com/irun/p/4678884.html