自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 目标和-背包dp

3.动态规划+平移技巧。4.转化为01背包问题。

2025-08-30 16:48:50 80

原创 最后一块石头的重量-01背包

非负数组nums中,子序列累加和不超过t,但是最接近t的累加和是多少。01背包问题(子集累加和尽量接近t) + 空间压缩。

2025-08-28 10:44:17 197

原创 最长数对链-最长上升子序列问题扩展/贪心

【代码】最长数对链-最长上升子序列问题扩展/贪心。

2025-08-27 17:40:00 151

原创 最长V对角线段的长度-记忆化搜索

【代码】最长V对角线段的长度-记忆化搜索。

2025-08-27 13:01:43 164

原创 夏季特惠-01背包

最终目标是总优惠>=总超出,那么直接把每件物品优惠的金额加到预算里面去就好了,然后用这个预算去做01背包。

2025-08-25 15:43:39 203

原创 无重复字符的最长子串-滑动窗口+哈希

【代码】无重复字符的最长子串-滑动窗口+哈希。

2025-08-25 11:41:58 209

原创 对角线遍历-模拟

【代码】对角线遍历-模拟。

2025-08-25 11:08:29 186

原创 最大连续1的个数Ⅲ-滑动窗口

【代码】最大连续1的个数Ⅲ-滑动窗口。

2025-08-24 22:29:11 183

原创 删掉一个元素以后全为1的最长子数组-滑动窗口

【代码】删掉一个元素以后全为1的最长子数组-滑动窗口。

2025-08-24 22:18:29 188

原创 包含所有1的最小矩形面积Ⅰ

一次遍历即可,记录最小的左上角和最大的右下角。

2025-08-22 10:28:57 139

原创 统计全为1的正方形子矩阵-二维dp

【代码】统计全为1的正方形子矩阵-二维dp。

2025-08-21 19:00:31 299

原创 使数组k递增的最少操作次数

分组之后,寻找每个组内的最长不下降子序列的长度,用这个组的总长度减去最长不下降子序列的长度就可以得到这一组需要修改的元素个数了。把每一组需要修改的个数累加起来就可以得到答案。可以发现元素只与自己同余下标的元素有关系,所以可以直接分组做,分成k组。

2025-08-20 19:31:26 189

原创 全0子数组的数目-子数组问题

记录以每个元素结尾的最长0的数量即可。

2025-08-19 21:22:27 212

原创 乘积最大子数组-子数组问题(一维dp)

【代码】乘积最大子数组-子数组问题(一维dp)

2025-08-17 08:46:06 145

原创 俄罗斯信封套娃问题-二维最长递增子序列

对一个维度从小到大排序,然后对另外一个维度求最长上升子序列即可。

2025-08-15 23:32:47 228

原创 最长递增子序列-dp问题+二分优化

【代码】最长递增子序列-dp问题+二分优化。

2025-08-15 22:20:26 164

原创 打家劫舍Ⅳ-子数组问题(一维dp+二分答案)

二分答案寻找最小的能力。check函数里面用到了dp。

2025-08-15 01:01:51 180

原创 环形数组不相邻元素最大累加和-一维dp

这题只是在基础版的上面加了一个分类讨论,讨论nums[0]偷还是不偷,两者取最大值即可。

2025-08-14 20:27:25 175

原创 有效涂色问题-二维dp

【代码】有效涂色问题-二维dp。

2025-08-13 22:49:22 233

原创 交错字符串-二维dp

考虑dp(i,j),当前处于s3的第i+j-1个字符,这个字符有两种可能的来源,可能来自于s1的第i个字符,也可能来自于s2的第j个字符,如果这三个字符都相等,则在两种情况中取一种情况即可,也就是取或。这题的状态定义比较巧妙,dp是一个bool类型的数组,dp(i,j)表示s1的前i个字符加上s2的前j个字符是否能够交错形成s3的前i+j个字符。

2025-08-13 21:24:49 240

原创 最大子矩阵-子数组最大累加和问题扩展

把各行的元素压缩为一维数组,然后再这个一维数组上面运行带下标的子数组最大累加和就ok了。

2025-08-13 17:22:04 156

原创 环形子数组的最大和-子数组最大累加和问题(一维dp)

【代码】环形子数组的最大和-子数组最大累加和问题(一维dp)

2025-08-12 15:38:52 133

原创 打家劫舍-子数组最大累加和问题(一维dp)

【代码】打家劫舍-子数组最大累加和问题(一维dp)

2025-08-12 11:49:38 148

原创 最大子数组和-一维动态规划

【代码】最大子数组和-一维动态规划。

2025-08-10 21:19:40 160

原创 编辑距离-二维动态规划

【代码】编辑距离-二维动态规划。

2025-08-09 16:58:19 327

原创 不同的子序列-二维动态规划

【代码】不同的子序列-二维动态规划。

2025-08-08 20:19:06 211

原创 矩阵中的最长递增路径-记忆化搜索

一个简单的dfs搜索问题,只需要改成一个带返回值的搜索即可,再加上一个缓存表优化即可通过。

2025-08-08 14:10:28 227

原创 二叉树不同结构的数量-动态规划

【代码】二叉树不同结构的数量。

2025-08-07 22:31:57 142

原创 最长回文子序列-二维动态规划

解法一中,将一个字符串逆序,使用reverse(s.begin(),s.end())与公共子序列很相似,甚至解法一可以直接使用最长公共子序列。

2025-08-07 13:21:16 241

原创 最长公共子序列-二维动态规划

从递归到dp到空间优化。

2025-08-06 16:10:36 112

原创 从递归到动态规划-解码方法Ⅱ

与上一个解码方法的区别就在于分的情况更多更细了,要仔细考虑每一种情况,在递归和dp的思路上面没有什么太大的变化。

2025-08-05 23:48:18 212

原创 不同的子序列Ⅱ

基本框架是基于集合,每次往每个集合后面添加一个字符,但是需要去重,于是就用到了dp的思想,如果某个字符是之前添加过的,那么再添加一次的话,必然会产生,与当前以该字符结尾的字符串一样数量的重复字符串,把该数量减掉,就可以得到实际增加的数量。

2025-08-04 13:08:24 298

原创 环绕字符串中的唯一子字符串-动态规划

这题的状态定义比较特别,虽然依赖于位置,但是要寻找最大的并且去重,就需要根据26个字符来定义状态了。注意更新条件,要寻找最长的,所以比原来更长才更新。

2025-08-03 17:58:25 310

原创 丑数-优先队列/三指针/动态规划

2.用来判断是否访问过,可以用unordered_set。注意set的插入用的是insert而不是push。

2025-08-02 21:04:37 263

原创 一维dp-序列类型-最长有效括号

这题的难点在于状态转移方程,由于这里是一维序列,所以很容易想到用“以第i个字符结尾的…”来定义状态,关键就在于寻找后面的状态是怎样依赖于前面的状态。

2025-08-02 20:19:50 230

原创 从递归到动态规划-解码方法

【代码】从递归到动态规划-解码方法。

2025-08-02 14:49:29 171

原创 从递归到动态规划-最低票价

【代码】从递归到动态规划-最低票价。

2025-08-01 14:22:33 155

原创 字典树/前缀树

【代码】字典树/前缀树。

2025-07-31 01:22:40 173

原创 盛最多水的容器-双指针

【代码】盛最多水的容器-双指针。

2025-07-29 19:56:40 116

原创 接雨水-双指针

【代码】接雨水-双指针。

2025-07-29 16:49:14 217

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除