美文网首页
动态规划-爬楼梯-Java实现(1)

动态规划-爬楼梯-Java实现(1)

作者: 朱Simon | 来源:发表于2018-07-03 13:49 被阅读206次

有一座高10级台阶的楼梯,从下往上走,一次只能向上1级或2级台阶,一共有多少种走法?

结题思路:

1.递归:时间复杂度 2^n
2.备忘录算法:时间复杂度n
3.动态规划:时间复杂度n

// 1.递归:时间复杂度 2^n
private static int stepCount(int count) {
        if (count < 1) {
            return 0;
        }
        if (count <= 2) {
            return count;
        }
        return stepCount(count - 1) + stepCount(count - 2);
    }
//2.备忘录算法:时间复杂度n
private static int stepCount2(int count, Map<Integer,Integer> map) {
        if (count<1){
            return 0;
        }
        if (count<=2){
            return count;
        }
        if(map.containsKey(count)){
            return map.get(count);
        }else {
            int value=stepCount2(count-1,map)+stepCount2(count-2,map);
            map.put(count,value);
            return value;
        }
    }
//3.动态规划:时间复杂度n
private static int stepCount3(int count) {
        if (count<1){
            return 0;
        }
        if (count<=2){
            return count;
        }
        int left=1,right=2,temp=0;
        for (int i = 3; i <=count ; i++) {
            temp=left+right;
            left=right;
            right=temp;
        }
        return temp;
    }

注:以上解法出自微信公众号《程序员小灰》.

相关文章

  • 动态规划-爬楼梯-Java实现(1)

    有一座高10级台阶的楼梯,从下往上走,一次只能向上1级或2级台阶,一共有多少种走法? 结题思路: 1.递归:时间复...

  • LeetCode | 0070. Climbing Stairs

    LeetCode 0070. Climbing Stairs爬楼梯【Easy】【Python】【动态规划】 Pro...

  • LeetCode中动态规划问题的做题记录

    常规动态规划问题 相关题目: 70.爬楼梯 70.爬楼梯 描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每...

  • 动态规划 / 爬楼梯

    假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶...

  • 动态规划--爬楼梯

    题目 climbing-stairs假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶...

  • 代理模式

    JAVA的动态代理模式:A接口,A1子类实现A接口,A2子类实现A接口。那么JAVA的动态代理模式会A1、A2.....

  • Android 仿IOS的PopupWindow和通用BaseP

    截图 实现 1、BasePopupWindow.java 1.1、实现动态加载不同layout1.2、动态配置是否...

  • leetcode上动态规划问题 java

    动态规划 70. 爬楼梯 难度简单882 收藏 分享 切换为英文 关注 反馈 假设你正在爬楼梯。需要 n 阶你才能...

  • 面试-动态规划合集

    动态规划-爬楼梯[https://www.jianshu.com/p/70eea9a7f650]

  • 动态规划

    0-1背包问题 自己实现的0-1背包问题的动态规划解法,先贴上吧,动态规划原理解释有空再写。

网友评论

      本文标题:动态规划-爬楼梯-Java实现(1)

      本文链接:https://www.haomeiwen.com/subject/ncwduftx.html