欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 力扣动态规划-1【算法学习day.95】

力扣动态规划-1【算法学习day.95】

2025/9/21 19:27:40 来源:https://blog.csdn.net/2301_79232523/article/details/145187735  浏览:    关键词:力扣动态规划-1【算法学习day.95】

前言

###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.用最小花费爬楼梯

题目链接:746. 使用最小花费爬楼梯 - 力扣(LeetCode)

题面:

如果直接采取一般递归思路会超时,原因是递归了大量重复的层数,我们可以使用哈希表将每个第一次递归到的层数存一下,这样就不会超时了

哈希表代码:

class Solution {int[] cost;Map<Integer,Integer> map = new HashMap<>();public int minCostClimbingStairs(int[] cost) {this.cost = cost;return recursion(cost.length);}public int recursion(int u){if(u<=1)return 0;int flag = map.getOrDefault(u,-1);if(flag!=-1){return flag;}int res = Math.min(recursion(u-1)+cost[u-1],recursion(u-2)+cost[u-2]);map.put(u,res);return res;}
}

 代码:

class Solution {public int minCostClimbingStairs(int[] cost) {int f0 = 0, f1 = 0;for (int i = 1; i < cost.length; i++) {int newF = Math.min(f1 + cost[i], f0 + cost[i - 1]);f0 = f1;f1 = newF;}return f1;}
}

后言

上面是数据结构相关的习题,下一篇文章会将其他相关的习题。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词