题解 | #跳台阶#

跳台阶

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

递归的解法:

public class Solution {
    public int jumpFloor(int target) {
        if (target==1|target==0) return 1;
        return jumpFloor(target-1)+jumpFloor(target-2);
    }
}

动态规划的解法:

public class Solution {
    public int jumpFloor(int target) {
        int [] dp = new int[50];
        dp[0]=1; dp[1]=1;
        for(int i=2;i<=target;i++) dp[i]=dp[i-1]+dp[i-2]; //状态转移方程
        return dp[target];
    }
}

动态规划的优化版

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

相关推荐

zyNotCute:感觉问题主要在学校,以及项目吧,项目有些偏简单了;专业技能方面没写redis和微服务有一点小薄弱;当然acm打得好也是不错的。可以再打磨一下祝找工顺利
点赞 评论 收藏
分享
头像
02-15 16:23
中南大学 Java
野猪不是猪🐗:签了美团真是不一样! 亲戚们都知道我签了美团,过年都围着我问送一单多少钱,还让弟弟妹妹们引以为戒,笑我爸我妈养了个🐢孩子,说从小就知道我这个人以后肯定没出息,我被骂的都快上天了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务