【动态规划】总览

前言:

最近把动态规划系统的刷了一遍,具体题目分为 基础题、0-1背包问题、完全背包问题、买股票最佳时机、打家劫舍、递增子序列、回文子串、编辑距离等几大类。所有题目均来源 LeetCode,刷题思路来自Carl 学长

Carl 学长的题解思路非常清晰,但是在学习的过程中,对题目我也有自己的一些心得与理解,随记录为此专栏。
在这里插入图片描述

动态规划个人理解:

所谓动态规划,在我看来就是牺牲空间复杂度换取时间复杂度,某一范围的解可由上一范围的解推导而得到的一种解题方法。具体实现过程可大概分为以下几步:

  1. dp 数组如何定义,dp 数组的含义
  2. dp 数组有几种状态,状态如何转移,即如何写出状态转移方程
  3. 状态转移方程定义好了,如何初始化
  4. 一切准备就绪,如何遍历,遍历方向是怎样的

在我看来,动态规划类问题看似有其套路,其实则不然。对每个问题只是有一个大概的思考思路,但是具体如何定义dp 数组含义,如何遍历,如何写出状态转移方程这些都没什么固定套路,需要我们自己去思考。

碎碎念:

以前经常看刷题策略说,要系统刷题,分类去刷。我之前一直是分散着刷的,但是尝试了分类刷之后,也并没有觉得有多大进步,确实相较于之前,对某一类题有了个大致的理解,但是要说进步也确实谈不上,不过任何一点点小小的跨越,都需要漫长的时间积累,加油吧,少年!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值