自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营Day29 | Leetcode 134 加油站 Leetcode 135 分发糖果 Leetcode 860 柠檬水找零 Leetcode 406 根据身高重建队列

思路:局部最优:当前累加rest[i]的和curSum一旦小于0,起始位置至少要是i+1,因为从i之前开始一定不行。全局最优:找到可以跑一圈的起始位置。思路:一次是从左到右遍历,只比较右边孩子评分比左边大的情况。一次是从右到左遍历,只比较左边孩子评分比右边大的情况。思路:先排身高,这样根据k为下表插入时保证身高符合规矩。思路:统计五块和十块的数量,遇见二十优先用十块找钱。

2024-08-14 22:33:19 605 1

原创 代码随想录算法训练营Day28 | Leetcode 122 买卖股票的最佳时机 Leetcode 55 跳跃游戏 Leetcode 45 跳跃游戏Ⅱ Leetcode 1005 K次取反求最大值

思路:可以想象成一个铺路的过程,每次遍历数组元素都记录这个数组所能铺的距离,如果铺的距离小于当前最大值那么就不更新,如果大于最大值就更新,看最终能否将路铺到数组结束。思路:延续上一道题铺路的想法,什么时候步数需要更新?当走完了一跳铺的路时就要更新,或者说这道题统计的是走了多少条路。思路:局部最优为只收集正利润,推广为全局最优。

2024-08-13 20:28:20 335

原创 代码随想录算法训练营Day27 | Leetcode 455 分发饼干 Leetcode 376 摆动序列 Leetcode 53 最大子序和

思路:记录当前和的值,如果和为负数那么就重新记录,因为和为负数肯定就不是最大值了。思路:将数组中的数看成折线图的点,只记录波峰和波谷的点。思路:将小饼干优先喂饱小胃口。

2024-08-12 22:00:45 333 1

原创 代码随想录算法训练营Day25 | Leetcode 491 非递减子序列 Leetcode 46 全排列 Leetcode 47 全排列Ⅱ

思路:这道题里面数组是可以有重复元素的,也就是不仅要避免树枝上的重复元素不能被选,还要保证同一树层的元素不能重复被选。思路:这个题目也是不能重复用,那么为什么不能用used数组?因为这个题目不允许将原数组排序,所以必须用set。思路:排列问题不需要index,因为其中的元素还需要重复取。

2024-08-10 22:59:50 950 1

原创 代码随想录算法训练营Day24 | Leetcode 93 复原IP地址 Leetcode 78 子集 Leetcode 90 子集Ⅱ

今天对回溯算法的理解更上一层楼,子集问题也是有自己的思路并且能独立完成,复原IP地址还需要思考一下。回溯算法需要注意的点不多,一个就是终止条件,一个是树形逻辑,递归语句是一个往下层推的过程,for循环是在当前层遍历的过程。

2024-08-09 21:36:42 530

原创 代码随想录算法训练营Day23 | Leetcode 39 组合总和 Leetcode 40 组合总和Ⅱ Leetcode131 分割回文串

今天仍旧是回溯算法,想清楚树形结构以及模板就很简单。

2024-08-08 17:18:33 596

原创 代码随想录算法训练营Day22 | Leetcode 77 组合 Leetcode 216 组合总和Ⅲ Leetcode17 电话号码的字母组合

回溯算法中递归的逻辑不重要,只要掌握回溯的模板以及将问题转化为树形图,整个问题就很好解决了,比二叉树简单。求解回溯模板需要想好终止条件以及树形逻辑的代码编写,不需要仔细思考递归逻辑,相比于二叉树的各种遍历简单许多。

2024-08-07 23:08:51 710 1

原创 代码随想录算法训练营Day20 | Leetcode 235 二叉搜索树的最近公共祖先 Leetcode 701 二叉搜索树中的插入操作

思路:相比普通二叉树更简单,因为二叉搜索树的节点有大小关系,而且只要找到一个节点的数值在所查节点直接就满足题意。思路:并不需要改树的结构,安装节点大小找到空节点插入就行了。

2024-08-05 18:04:02 326

原创 代码随想录算法训练营Day18 | Leetcode 530 二叉搜索树的最小绝对差 Leetcode 236 二叉树的最近公共祖先

今天有一道题目没写,二叉搜索树中的众数,有点太难理解了,先放一放。数据库和计网也在稳步进行中。

2024-08-03 16:53:16 928

原创 代码随想录算法训练营Day17 | Leetcode 654 最大二叉树 Leetcode 617 合并二叉树 Leetcode 700 二叉搜索树中的搜索 Leetcode 98 验证二叉搜索树

今天还是二叉树递归,相比于前两天可以写出部分代码了,有的题甚至有思路可以自己实现。这几天状态不是很好,学习效率比较低,及时调整。

2024-08-02 17:48:30 224

原创 代码随想录算法训练营Day16 | Leetcode 513 找树左下角的值 Leetcode 112 路径总和 Leetcode 106 中后序创建二叉树

写递归不能试图模拟每层递归,必须相信递归能做到我们想象的功能,然后把问题简化成最深层递归和最外层初始情况。递归是一个需要时间来理解的算法,明天必须开始数据库和计网的学习了。

2024-08-01 22:12:39 601 1

原创 代码随想录算法训练营Day15 | Leetcode 222 完全二叉树的节点个数 Leetcode 110 平衡二叉树 Leetcode 157 二叉树的所有路径 Leetcode 404左叶子之和

二叉树的递归确实很有难度,很难理解,但毕竟是一刷,先理解思路,实在不行把代码背下来,慢慢理解二叉树的各种递归很难理解,在尝试理解了,但还是不太能理解。慢慢来吧。

2024-07-31 17:24:35 289 1

原创 代码随想录算法训练营Day14 | Leetcode224 翻转二叉树 Leetcode101 对称二叉树 Leetcode104 二叉树的最大深度 Leetcode 111 二叉树的最小深度

二叉树的题目确定遍历顺序很关键,此外递归逻辑可以简化成只有根节点的处理情况,非递归好像用层序遍历都可以解决,但要等到二刷的时候再处理了。二叉树的题要理解遍历顺序和递归逻辑才能更好的记忆。

2024-07-30 22:27:55 653

原创 代码随想录算法训练营Day13 | 二叉树的遍历(递归法与迭代法)

今天的内容是关于二叉树遍历的各种方法的实现,需要对比记忆。日积月累,加油。

2024-07-29 16:41:17 1577

原创 八股文总结第一篇 | C++ vector 单例设计模式 操作系统 线程和进程

这两天都没总结八股文,正好今天休息一天把前两天欠的东西补上把两天欠的八股总结补上了,坚持就是胜利。

2024-07-29 00:00:09 298

原创 代码随想录算法训练营Day11 | Leetcode 150 逆波兰表达式求值 Leetcode 239 滑动窗口最大值 Leetcode 347 前K个高频元素

滑动窗口最大值和前K个高频元素在我自己刷的时候完全看不懂代码,也理解不了思路,这次系统的刷感觉也没很困难,尤其前K个高频元素对堆的使用在学完STL之后感觉也是很简单,所以学无止境啊。这两天事情比较多,明天休息可以把这两天欠的八股总结单独写一篇文章发出来。

2024-07-28 00:28:01 492

原创 代码随想录算法训练营Day10 | Leetcode 232 用栈实现队列 Leetcode 225 用队列实现栈 Leetcode20有效的括号 Leetcode 1047 删除字符串所有相临重复项

纪念第一次看到一道题有思路且自己写出来哈哈哈哈哈哈哈哈哈。今天家中聚餐比较累所以就不总结C++知识点了,但第一次能看到题目有思路自己写出来还是比较值得纪念的。

2024-07-26 23:35:32 451 2

原创 代码随想录算法训练营Day9 | Leetcode 151 翻转字符串里的单词 Leetcode 28 实现strStr() Leetcode 459 重复的字字符串 卡码网 右旋字符串

万恶的KMP算法,折磨人的KMP算法。但这次对KMP算法有了新的理解,逐渐理解不用重复匹配匹配过的子串这个概念了。每个对象都占有一块内存,在复制对象的过程中,浅拷贝复制出来的对象与原对象共享一块内存。而深拷贝复制出来的对象另开辟了一片内存并占有,不共享原对象的内存空间。KMP算法你罪大恶极,我完全无法用语言描述你运作的过程。操作系统比计网有意思,计网感觉没什么道理,死记硬背。

2024-07-25 18:28:18 2009

原创 代码随想录算法训练营Day8 | Leetcode 344 反转字符串 Leetcode 541 反转字符串Ⅱ 卡码网 替换数字

今天的题目不难,但第二道题目的题意很难理解,特别容易让人产生歧义,也就不过多纠结了。明天开始就要学习操作系统和计算机网络了,C++的大部分内容已经学完了,剩下就是复习以及一些细节的理解记忆,坚持总结,要理解更深层一点。

2024-07-24 22:05:54 418

原创 代码随想录算法训练营Day7 | Leetcode 454 四数相加Ⅱ Leetcode 383 赎金信 Leetcode 15 三数之和 Leetcode 18 四数之和

今天的四道题目稍稍有点难度,需要理解和反复记忆才行。四数相加类比于两数之和,赎金信类比于异位词,三数之和和四数之和自成体系,可以推广到n数之和。今天把STL的视频看完了,明天要继续看C++内存管理的视频,miniSTL要提上日程了。

2024-07-23 18:01:36 1109 1

原创 代码随想录算法训练营Day5、6 | Leetcode 242 有效字母的异位词 Leetcode 349 两个数组的交集 Leetcode 202 快乐数 Leetcode 1 两数之和

因为昨天休息所以把两天合并成一天来写,昨天把上周的题又重写了一遍,发现一些细节还是要注意。今天的题目都是查找,也涉及到了最近正在学的STL。就是多种状态,不同对象在进行相同的行为时展现出不同的结果。一般出现在派生类继承一个有虚函数定义的基类后,被基类的指针或引用调用不同函数时发生。终于把C++多态的总结写出来了,已经计划了好几天。今天的算法题难度不大,记下写法和细节就行。再花几天时间把STL学完就要尝试写一个mini STL,后续就是C++内存管理的部分了。

2024-07-22 18:15:11 796 1

原创 代码随想录算法训练营第四天 | Leetcode 24 两两交换链表中的节点 Leetcode 19 删除链表的倒数第N个节点 02.07 链表相交 Leetcode 142 环形链表II

今天链表的内容突出一个注意细节,判空条件,头节点是否为空等等。采用虚拟头节点可以方便链表进行更改,还需要学会使用临时变量。今天的四道算法题都有要注意的细节,明天算法休息一天但要开始学习STL的源码部分,准备在学习完源码部分自己实现一个mini STL,既可以帮助理解也可以作为项目经历。

2024-07-20 19:12:27 1854

原创 代码随想录算法训练营第三天 | Leetcode 203 移除链表元素 Leetcode 206 翻转链表

今天的两道题目都不难,但细节需要注意。如移除链表元素用到的虚拟头节点,翻转链表的思路。翻转链表真是写了忘,忘了写,希望这次能记住。除此之外我决定每天的记录里面增加一个总结八股的部分,将来二刷再翻看文章的时候顺便也能复习八股知识点。在写八股知识点总结的过程中我就发现这是一个非常正确的决定,既可以模拟面试时我需要讲出来的话,也可以帮助自己梳理知识点的逻辑,事半功倍。明天要开始学习C++的STL内容了,希望自己可以弄清底层的实现逻辑。

2024-07-19 17:47:02 447

原创 代码随想录算法训练营第二天 | Leetcode 977 有序数组的平方 Leetcode 209 长度最小的子数组 Leetcode 59 螺旋矩阵Ⅱ

今天的题目主要涉及到双指针,理解双指针的目的之后就不难,螺旋矩阵在大二考试时写过但没写出来,这次有了更好的理解。我觉得算法既是一个理解的过程,也是一个记忆的过程,理解之后才能记得牢,记得牢证明已经理解,还是要多看多复盘。今天除此之外还学习了一点C++11的新特性,感觉对C++知识点的记忆体系还需要一段时间,时间还长继续加油。种种可是(Anyway)

2024-07-18 17:46:39 310

原创 代码随想录算法训练营第一天 | Leetcode 704 二分查找 Leetcode 27移除元素

现在是2024.7.17大二暑假,此前正式下定不考研直接就业的决心,于是选择报名代码随想录算法训练营学习算法题,希望一年后自己能找到好的暑期实习,在毕业前进入大厂。除了学习这两道算法题,算上今天花了一周时间把C++的基本语法特性过完,只不过还没有总结,希望自己能坚持下去。

2024-07-17 18:01:36 410 1

空空如也

空空如也

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

TA关注的人

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