自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录一刷总结(待更新)

最重要的是循环不变量原理区间定义 left == right 时有没有意义,取决于开区间还是闭区间使用场景:可以按照某一规则将数组分为左右两部分。

2024-04-03 20:48:37 367

原创 代码随想录day45:单调栈篇

【代码】代码随想录day45:单调栈篇。

2024-03-26 21:28:06 396

原创 代码随想录day44:动态规划over,回文子串及字序列

【代码】代码随想录day44:动态规划over,回文子串及字序列。

2024-03-26 20:21:05 693

原创 代码随想录day43:动态规划part11,子序列问题,一直到“编辑距离”

dp数组定义 i-1 j-1 是为了省略初始化,如果定义为以 i j 结尾需要对 dp[0] 的情况初始化。

2024-03-20 17:43:48 321

原创 代码随想录day42:动态规划part10,买卖股票篇

一支股票一共交易一次。一支股票至多交易两次。一支股票至多交易k次。

2024-03-18 16:33:24 443

原创 代码随想录day41:动态规划part9,打家劫舍篇

【代码】代码随想录day41:动态规划part9,打家劫舍篇。

2024-03-17 23:24:47 321

原创 代码随想录day40:动态规划part8,背包问题完

背包问题需要重新梳理总结!

2024-03-17 22:06:06 384

原创 代码随想录day39:动态规划part7,完全背包继续

【代码】代码随想录day39:动态规划part7,完全背包继续。

2024-03-14 14:01:55 517

原创 代码随想录day38:动态规划part6,完全背包

外层先遍历物品,内层再遍历背包,算组合数。外层先遍历背包,内层再遍历物品,算排列数。

2024-03-12 13:54:18 431

原创 代码随想录day37:动态规划part5,01背包应用

/ dp[j]:容量j的背包放下的最大重量,容量重量都是stones[i]i < n;i++) {j--)// 分出这么多,又粉碎抵消这么多。

2024-03-11 16:46:38 353

原创 代码随想录day36:动态规划part4,背包问题

dp[j]表示:容量为j的背包,所背的物品价值可以最大为dp[j]。dp[i][j]里的i和j表达的是什么了,i是物品,j是背包容量。

2024-03-10 18:05:40 376

原创 代码随想录day35:动态规划part3

【代码】代码随想录day35:动态规划part3。

2024-03-09 23:20:27 364

原创 代码随想录day34:动态规划part2

【代码】代码随想录day34:动态规划part2。

2024-03-07 17:25:12 305

原创 代码随想录day33:动态规划part1

确定dp数组(dp table)以及下标的含义。

2024-03-07 16:40:09 305

原创 代码随想录day32:贪心part6

叶子节点的父节点放摄像头是最好的。后序遍历因为要从底往上。

2024-03-06 21:17:23 385

原创 代码随想录day31:贪心part5,重叠区间

射箭是多出来一个重叠区间 count + 1。本题是多一个区间重叠 count + 1。每个字母更新最短结束右边界。

2024-03-04 15:18:10 285

原创 代码随想录day30:贪心part4,多看多练多想

【代码】代码随想录day30:贪心part4,多看多练多想。

2024-03-02 17:01:33 290

原创 代码随想录day29:贪心part3,stream处理数组的思路

【代码】代码随想录day29:贪心part3,stream处理数组的思路。

2024-03-01 23:37:36 325

原创 代码随想录day28:贪心part2,做过就是思路

【代码】代码随想录day28:贪心part2,做过就是思路。

2024-02-29 11:13:31 416

原创 代码随想录day27:贪心part1,基础篇

关键在于如何区分上下坡平坡和同方向平坡的情况。循环结束条件注意饼干比孩子多的情况。

2024-02-28 18:03:27 570

原创 代码随想录day26:回溯part6,N皇后

【代码】代码随想录day26:回溯part6,N皇后。

2024-02-27 22:39:38 274

原创 代码随想录day25:回溯part5,递增子序列,排列问题

【代码】代码随想录day25:回溯part5,递增子序列,排列问题。

2024-02-26 17:14:42 393

原创 代码随想录day24:回溯part4,切割、子集问题

和组合II类似的去重思路:树层去重,树枝不用去重。

2024-02-25 00:21:53 278

原创 代码随想录day23:回溯part3,继续组合问题

【代码】代码随想录day23:回溯part3,继续组合问题。

2024-02-23 20:55:51 320

原创 代码随想录day22:回溯part2,组合总和

代码随想录day22:回溯part2,组合总和。

2024-02-22 21:08:50 248

原创 代码随想录day21:回溯part1,组合问题与剪枝

找到满足 path 长度达到 k 的最多遍历到的上界 n - (k - path.size()) + 1。一层回溯(即一层递归)解决一层for循环的问题。

2024-02-20 22:31:12 223

原创 代码随想录day20:二叉树part9,二叉搜索树转换

【代码】代码随想录day20:二叉树part9,二叉搜索树转换。

2024-02-20 16:18:24 405

原创 代码随想录day19:二叉树part8,二叉搜索树插入删除

【代码】代码随想录day19:二叉树part8,二叉搜索树插入删除。

2024-02-19 23:13:29 186

原创 代码随想录day18:二叉树part7,二叉搜索树,公共祖先

为什么用后序:需要左右子节点的结果来判断。

2024-02-18 21:27:23 185

原创 代码随想录day17:二叉树part6,合并二叉树,二叉搜索树

【代码】代码随想录day17:二叉树part6,合并二叉树,二叉搜索树。

2024-02-17 13:42:06 222 1

原创 代码随想录day16:二叉树part5,路径总和(回溯),中序+前/后序构造二叉树

【代码】代码随想录day16:二叉树part5,路径总和(回溯),中序+前/后序构造二叉树。

2024-02-15 20:23:56 309 1

原创 代码随想录day15:二叉树part4,平衡二叉树&二叉树所有路径(递归回溯)

(根节点高度等于树的最大深度)

2024-02-15 14:01:57 162 1

原创 代码随想录day14:二叉树part3,深度/高度,完全二叉树节点个数

当作普通二叉树来处理。其实是后序遍历的思路。

2024-02-08 15:23:45 294

原创 代码随想录day13:二叉树part2,层序遍历,翻转,对称

从最底层往上层遍历,把上一题的结果数组反转一下。其实是后序遍历的逻辑。

2024-02-08 14:19:23 296

原创 代码随想录day12:二叉树part1,递归/迭代遍历法

那么再看看中序遍历,中序遍历是左中右,先访问的是二叉树顶部的节点,然后一层一层向下访问,直到到达树左面的最底部,再开始处理节点(也就是在把节点的数值放进result数组中),这就造成了。分析一下为什么刚刚写的前序遍历的代码,不能和中序遍历通用呢,因为前序遍历的顺序是中左右,先访问的元素是中间节点,要处理的元素也是中间节点,所以刚刚才能写出相对简洁的代码,类似前序遍历,利用栈,根 左 右 顺序入栈可以实现 根 右 左 的结果。利用栈,根 右 左 顺序入栈可以实现 根 左 右 的处理顺序。

2024-02-06 22:56:50 345 1

原创 代码随想录day11:栈与队列part3,单调队列&&优先队列(堆)

为什么用小根堆:维持一个k个元素的小根堆,将时间复杂度从O(nlogn)降低到 O(nlogk),多于k个元素时加入元素把堆顶(频率最小的)元素删除,剩下维护的就是频率最大的k个元素了。单调队列应用,滑动窗口一进一出的过程很像队列的处理过程。

2024-02-05 16:00:30 247 1

原创 代码随想录day10:栈与队列part2,栈使用场景专题

不匹配的情况有三种,分别判断。不用库函数运行时间更短。

2024-02-03 22:47:01 306 1

原创 代码随想录day9:栈与队列part1,互相实现

简单的互相实现,拿纸画一下模拟过程即可。

2024-02-03 00:18:08 313 1

原创 代码随想录day8:字符串part2,KMP算法

next数组值含义:当前最长相等前后缀长度。j 同时表示:当前最长相等前后缀长度。j+1 表示:前缀末尾位置。i 表示:后缀末尾位置。

2024-02-02 00:21:03 332

原创 代码随想录day7:字符串part1,反转字符串的多种用法,StringBuilder用法

想一下,我们将整个字符串都反转过来,那么单词的顺序指定是倒序了,只不过单词本身也倒序了,那么再把单词反转一下,单词不就正过来了。反转字符串与反转链表的不同点:元素内存分布不同所以方法不同。举个例子,源字符串为:"the sky is blue "字符串也是一种数组,元素在内存中是连续分布。反转字符串与反转链表的相同点:都使用双指针。上题相同的,整体反转+局部反转 的思想。这样我们就完成了翻转字符串里的单词。StringBuilder的使用。不调库版本,练习代码功底。

2024-01-31 23:08:32 354

空空如也

空空如也

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

TA关注的人

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