动态规划问题
文章平均质量分 83
动态规划问题
码了三年又三年
全栈开发(Web,移动端,服务端)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【动态规划】凑零钱问题
搞清楚上面的几个关键点,解法的伪代码就可以写出来了:# 伪码框架。原创 2024-09-17 23:21:00 · 1353 阅读 · 0 评论 -
【算法】动态规划—最长回文子序列
关于”回文串“的问题,是面试中常见的,本文提升难度,讲一讲”最长回文子序列“问题,题目很好理解:输入一个字符串 s,请找出 s 中的最长回文子序列长度。比如输入 s="aecda",算法返回3,因为最长回文子序列是 "aca",长度是3。。一定要记住这个定义才能理解算法。为什么这个问题要这样定义二维的 dp 数组呢?,这样定义容易归纳,容易发现状态转移关系。原创 2024-09-13 21:47:44 · 1145 阅读 · 0 评论 -
【算法】动态规划—编辑距离
给你两个单词 和 , 请返回将 转换成 所使用的最少操作数 。你可以对一个单词进行如下三种操作: 编辑距离问题就是给定两个字符串 s1 和 s2,只能用三种操作把 s1 变成 s2,求最少的操作数。需要明确的是,不管是把 s1 变成 s2 还是反过来,结果都是一样的,所以下面就以 s1 变成 s2 举例。 解决两个字符串的动态规划问题,一般都是用两个指针 i, j 分别指向两个字符串的最后,然后一步步往前走,缩小问题的规模。 设两个字符串分别为 "rad"原创 2024-09-13 14:59:21 · 1139 阅读 · 0 评论 -
【算法】动态规划—最长公共子序列
专门让索引为0的行和列表示空串,dp[0][..],dp[..][0]都应该初始化为0,这就是 base case。比如按照刚才dp数组的定义,dp[0][3]=0 的含义是:对于空字符串 "" 和 "bab",其LCS的长度为0。因为一个字符串是空串,它们的最长公共子序列的长度显然应该是0。原创 2024-09-12 18:01:49 · 1216 阅读 · 0 评论
分享