![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
hbhhhxs
这个作者很懒,什么都没留下…
展开
-
打家劫舍系列: 198.打家劫舍 213.打家劫舍2 337.打家劫舍3
337.打家劫舍3树型的dp?一开始我以为小偷是不能回头的,那我直接把这棵树放到数组上f[i]=max(f[i/2/2],f[i/2/2/2])+v[i];就ok了,写完发现这小偷还真贪啊,还走回头路的,那就必须遍历这整棵树了,用了dfs,但是卡在第123个测试点了,于是想用记忆化优化来着,但是状态(TreeNode* tn,int flag)不好表示啊,偷偷看了一眼题解,一般都是直接hashmap了一个状态TreeNode* tn,那么他们都不用记录状态flag的嘛,发现他们是另外一种思路,即打不原创 2020-08-05 11:33:53 · 230 阅读 · 0 评论 -
DP(一种方法KO三道困难难度的DP问题,感觉自己棒棒哒) 72.编辑距离 97.交错字符串 44.通配符匹配 10.正则表达式匹配
72.编辑距离给你两个单词word1 和word2,请你计算出将word1转换成word2 所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符(这题也是字节提前批的一道面试题)刚开始想的是求两个字符串的最长公共子序列,这些是不会变的,然后用较长的一个去减,就是需要改动的最少操作次数,这个方法在想的时候就注意到会有错位的问题,但是没思考好,比如 a**b和*a*b,我的答案是4-2=2,但是实际上a**b必须经过3次操作才能变成*a*b...原创 2020-08-03 15:44:40 · 251 阅读 · 0 评论 -
记录一道关于丑数的题,作者的思路有一些比较巧妙的地方
参考自https://www.nowcoder.com/profile/5810633/codeBookDetail?submissionId=16629921转载 2020-07-04 16:55:35 · 99 阅读 · 0 评论 -
DP统计矩阵系列: 221.最大正方形 1277.统计全为 1 的正方形 1504.统计全为1的矩阵 1139.最大的以1为边界的正方形
题目描述在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4解法二:动态规划对于动态规划,大部分情况下我们都会定义一个二维数组dp,然后定义dp[i][j] 的含义,接着推导 dp[i][j] 与 dp[i-1][j]、dp[i][j-1]、dp[i-1][j-1] 之间的关系。当然,也可以是推导 dp[i][j] 与 dp[i+1][j]、dp[i原创 2020-07-11 20:51:01 · 234 阅读 · 0 评论 -
动态规划刷题day02(最小窗口子序列、最大的以 1 为边界的正方形、)
leetcode 727 最小窗口子序列(dp记录的是起始位置,长度通过计算得到)给定字符串S和T,在S中寻找最小连续子串W,使得T是W的子序列(有序)。如果没有找到返回"",如果找到多个最小长度的子串,返回左 index 最小的。https://blog.csdn.net/weixin_45588823/article/details/100642933leetcode 76最小覆盖子串与727的差别是“给定字符串S和T,在S中寻找最小连续子串W,使得W包含所有T中字符,即可以乱序。”.原创 2020-07-28 10:53:37 · 226 阅读 · 0 评论 -
动态规划刷题day01(1-n组二叉搜索树)
leetcode96.不同的二叉搜索树给定一个整数n,求以1 ...n为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ ...原创 2020-07-27 22:30:48 · 378 阅读 · 0 评论