Question:
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 class Solution { 2 public: 3 int climbStairs(int n) { 4 if(1==n) 5 return 1; 6 if(2==n) 7 return 2; 8 vector<int> count; 9 count.push_back(1); 10 count.push_back(2); 11 for(int i=2;i<n;i++) 12 { 13 count.push_back(count[i-1]+count[i-2]); 14 } 15 return count[n-1]; 16 } 17 };