动态规划的框架(套路), 总结

    动态规划题目千变万化,很多人刚入门时候都觉得非常难以理解,题目越做越挫,越做打击越大,看着别人的题解,心里只能默念一句卧槽,这都能写出状态方程!

    走了那么多弯路,才发现问题所在,主要原因是因为基础的东西没掌握好,力扣上很多题目都是从这些基础的套路演变出来的,把基础问题的状态方程掌握和理解好,自己自然也就能写出其他题目的状态方程了。

    所谓一生二,二生三,三生万物,把这一、二彻底弄懂了,其他花里胡哨的也自然就迎刃而解了。

    如果能按照下面的专题刷,先读懂例题,再把本文给出的leetcode的题目刷一遍,都是一样的框架(套路),保证您对动态规划的理解上一个新的台阶。

    动态规划是运筹学里的一个分支, 常常用一个数来表示一个集合, 如数字三角形模型第一个题, dp[i][j]表示为所有从点(0,0)走到点(i,j)的所有合法路径, 由于答案只要最小值, 所以dp[i][j]只保存最小值, 理解好这一点,至关重要。

一、数字三角形模型

例题:给定一个矩阵m,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的路径中最小的路径和。

解题思路:假设矩阵m的大小为M*N,行数为M,列数为N。生成大小和m一样的矩阵dp,行数为M,列数为N。

dp[i][j]的值表示从左上角,也就是(0,0)位置,走的(i,j)位置的最小路径和。

base case:如下图所示,第一行只能有向右走,第一列只能向下走,所以分别就是行的和and列的和。

leetcode题目:

64 最小路径和(本题)

题解: https://leetcode-cn.com/problems/minimum-path-sum/solution/dong-tai-gui-hua-shu-zi-san-jiao-xing-mo-xing-by-a/

120  三角形最小路径和

题解: https://lee

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值