[LeedCode OJ]#70 Climbing Stairs

来源:互联网 发布:sql和mysql的区别 编辑:程序博客网 时间:2024/05/17 01:37

 【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱:libin493073668@sina.com】


题目链接:https://leetcode.com/problems/climbing-stairs/


题意:

一个楼梯,一步只能跨一阶或者跨两阶,判断第n阶有几种走法


思路:

dp[i]表示走到第i阶有几种走法

我们很容易知道,第i阶只能从第i-1与i-2阶走到

所以状态转移方程为:dp[i] = dp[i-1]+dp[i-2]


class Solution{public:    int climbStairs(int n)    {        int (*dp) = new int[n+1];        dp[1] = 1;        dp[2] = 2;        for(int i = 3; i<=n; i++)        {            dp[i] = dp[i-1]+dp[i-2];        }        return dp[n];    }};


0 0
原创粉丝点击