NC68 #跳台阶#

跳台阶

http://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4

最简单的动态规划

class Solution {
public:
    int jumpFloor(int number) {
        int dp[number + 1];
        dp[1] = 1;
        dp[0] = 1;
        for(int i = 2; i <= number; i++)
            dp[i] = dp[i - 1] + dp[i - 2];
        return dp[number];
    }
};

优化一下,只用三个变量

class Solution {
public:
    int jumpFloor(int number) {
        if(number == 0 || number == 1) return number;
        int a = 1, b = 1, c;
        for(int i = 2; i <= number; i++)
        {
            c = a + b;
            a = b;
            b = c;
        }
        return c;
    }
};
全部评论

相关推荐

09-13 08:41
服装/纺织设计
那一天的Java_J...:你第一次参加面试吗
点赞 评论 收藏
分享
迷茫的大四🐶:💐孝子启动失败,改为启动咏鹅
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务