动态规划习题(上)

本文详细解释了如何使用动态规划、记忆化搜索和深度优先搜索(DFS)方法解决LeetCode中的两个问题:最小花费爬楼梯和最长递增子序列。作者强调了主函数的重要性,并提供了完整代码示例以帮助初学者理解解题思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

使用最小花费爬楼梯

最长递增长序列


拖鞋言:拖鞋不亏为菜鸡,简单的题目也要整理好久,才可以马马虎虎的过。在视频讲解里,up主找的题目均是在leetcode上的,上面只需要展示核心函数,主函数就忽略了。我不太习惯,感觉对小白来说,不太友善。所以在这篇里,我尽可能依旧以主函数的方式将前篇的dfs->记忆搜索->递推 的方式都展示出来,这样可能更能理解一些。

动态规划的解题步骤:

1、重述问题

2、找到最后步

3、去掉最后一步,是否能划分子问题

4、考虑边界

(我们还是要去熟悉一下正确的解题思路,这样可能更容易让我们养成思维习惯。目前我还没养成,可能是刷的题目不够。有思路但是写着写着就会变的混乱。这不好哦~)

使用最小花费爬楼梯

746. 使用最小花费爬楼梯 - 力扣(LeetCode)

问题:

问题分析:这个题目和那道“跳台阶”还是很像的。只是这里求的是min。OK,现在我们根据解题思路,来捋一捋到底该怎么写 。首先是重述问题:该题目给了每个台阶需要支付的费用,可以选择爬一个或两个台阶。最后一步:问题求的是到达楼梯顶部的最低花费。那么我们就是要到楼梯顶部去,那么我们可能走一步到顶部,也可能走两步。去掉最后一步,也就是求在第n-1层或n-2层的最小花费。考虑边界:边界应该就是x = 0 或 x = 1的时候,因为题目中说ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值