[LeetCode]Climbing Stairs

来源:互联网 发布:炒股软件免费下载 编辑:程序博客网 时间:2024/06/03 21:23
解题思路:
动态规划问题。
1,递归方程  steps[i] = steps[i-1] + steps[i-2] 
因为从 i-1 到达 i 存在 steps(i - 1) * 1中方法, 从 i-2到达 i存在 steps(i-2) * 1 种方法,所以最后的方法数是两个相加

2,前条件:初始值,steps[0] = steps[1] = 1; 因为“站着不动” 和“走一步”都是生活的一部分 

class Solution {public:    int climbStairs(int n) {        vector<int> steps;        steps.push_back(1);        steps.push_back(1);        for (int i = 2; i <= n; ++i){            steps.push_back(steps[i-1] + steps[i-2]);        }        return steps[n];    }};


0 0