假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?
样例 Example 1: Input: n = 3 Output: 3
Explanation: 1) 1, 1, 1 2) 1, 2 3) 2, 1 total 3.Example 2: Input: n = 1 Output: 1
Explanation: only 1 way. class Solution { public: /** * @param n: An integer * @return: An integer */ int climbStairs(int n) { // write your code here if(n<3) return n; else { int num1=1; int num2=2; int cur=0; for(int i=3;i<=n;i++) { cur=num1+num2; num1=num2; num2=cur; } return cur; } } }; class Solution { public: /** * @param n: An integer * @return: An integer */ int climbStairs(int n) { // write your code here vector<int> result; result.push_back(0); result.push_back(1); result.push_back(2); if (n > 2) { for (int i = 3; i <= n; i++) { result.push_back(result[i - 1] + result[i - 2]); } } return result[n]; } };```