上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 21 下一页
摘要: 读完本文,你可以去力扣拿下如下题目: 72.编辑距离 前几天看了一份鹅场的面试题,算法部分大半是动态规划,最后一题就是写一个计算编辑距离的函数,今天就专门写一篇文章来探讨一下这个问题。 我个人很喜欢编辑距离这个问题,因为它看起来十分困难,解法却出奇得简单漂亮,而且它是少有的比较实用的算法(是的,我承 阅读全文
posted @ 2020-11-05 20:24 labuladong 阅读(699) 评论(0) 推荐(0) 编辑
摘要: 读完本文,你可以去力扣拿下如下题目: 416.分割等和子集 上篇文章 经典动态规划:0-1 背包问题 详解了通用的 0-1 背包问题,今天来看看背包问题的思想能够如何运用到其他算法题目。 而且,不是经常有读者问,怎么将二维动态规划压缩成一维动态规划吗?这就是状态压缩,很容易的,本文也会提及这种技巧。 阅读全文
posted @ 2020-11-04 20:13 labuladong 阅读(708) 评论(0) 推荐(0) 编辑
摘要: 后台天天有人问背包问题,这个问题其实不难啊,如果我们号动态规划系列的十几篇文章你都看过,借助框架,遇到背包问题可以说是手到擒来好吧。无非就是状态 + 选择,也没啥特别之处嘛。 今天就来说一下背包问题吧,就讨论最常说的 0-1 背包问题。描述: 给你一个可装载重量为 W 的背包和 N 个物品,每个物品 阅读全文
posted @ 2020-11-04 20:11 labuladong 阅读(14486) 评论(1) 推荐(2) 编辑
摘要: 读完本文,你可以去力扣拿下如下题目: 518.零钱兑换II 零钱兑换 2 是另一种典型背包问题的变体,我们前文已经讲了 经典动态规划:0-1 背包问题。 希望你已经看过前两篇文章,看过了动态规划和背包问题的套路,这篇继续按照背包问题的套路,列举一个背包问题的变形。 本文聊的是 LeetCode 第 阅读全文
posted @ 2020-11-04 20:07 labuladong 阅读(7630) 评论(1) 推荐(0) 编辑
摘要: 读完本文,你可以去力扣拿下如下题目: 509.斐波那契数 322.零钱兑换 这篇文章是我们号半年前一篇 200 多赞赏的成名之作「动态规划详解」的进阶版。由于账号迁移的原因,旧文无法被搜索到,所以我润色了本文,并添加了更多干货内容,希望本文成为解决动态规划的一部「指导方针」。 动态规划问题(Dyna 阅读全文
posted @ 2020-11-04 15:19 labuladong 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 后台天天有人问背包问题,这个问题其实不难啊,如果我们号动态规划系列的十几篇文章你都看过,借助框架,遇到背包问题可以说是手到擒来好吧。无非就是状态 + 选择,也没啥特别之处嘛。 今天就来说一下背包问题吧,就讨论最常说的 0 1 背包问题。描述: 给你一个可装载重量为 的背包和 个物品,每个物品有重量和 阅读全文
posted @ 2020-03-10 13:10 labuladong 阅读(2651) 评论(0) 推荐(1) 编辑
摘要: KMP 算法(Knuth Morris Pratt 算法)是一个著名的字符串匹配算法,效率很高,但是确实有点复杂。 很多读者抱怨 KMP 算法无法理解,这很正常,想到大学教材上关于 KMP 算法的讲解,也不知道有多少未来的 Knuth、Morris、Pratt 被提前劝退了。有一些优秀的同学通过手推 阅读全文
posted @ 2020-02-17 12:30 labuladong 阅读(883) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章 "几道智力题" 中讨论到一个有趣的「石头游戏」,通过题目的限制条件,这个游戏是先手必胜的。但是智力题终究是智力题,真正的算法问题肯定不会是投机取巧能搞定的。所以,本文就借石头游戏来讲讲「假设两个人都足够聪明,最后谁会获胜」这一类问题该如何用动态规划算法解决。 博弈类问题的套路都差不多,下 阅读全文
posted @ 2020-02-17 12:29 labuladong 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 之前的文章「动态规划详解」收到了普遍的好评,今天写一个动态规划的实际应用:正则表达式。如果有读者对「动态规划」还不了解,建议先看一下上面那篇文章。 正则表达式匹配是一个很精妙的算法,而且难度也不小。本文主要写两个正则符号的算法实现:点号「.」和星号「 」,如果你用过正则表达式,应该明白他们的用法,不 阅读全文
posted @ 2020-02-17 12:27 labuladong 阅读(956) 评论(0) 推荐(0) 编辑
摘要: 四键键盘问题很有意思,而且可以明显感受到:对 dp 数组的不同定义需要完全不同的逻辑,从而产生完全不同的解法。 首先看一下题目: 如何在 N 次敲击按钮后得到最多的 A?我们穷举呗,每次有对于每次按键,我们可以穷举四种可能,很明显就是一个动态规划问题。 第一种思路 这种思路会很容易理解,但是效率并不 阅读全文
posted @ 2020-02-17 12:26 labuladong 阅读(665) 评论(0) 推荐(1) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 21 下一页
我的公众号 labuladong,专注于 LeetCode 刷题,欢迎关注。