代码随想录
文章平均质量分 59
苏文166
这个作者很懒,什么都没留下…
展开
-
第五章 栈与队列part03
今日内容:239. 滑动窗口最大值347.前 K 个高频元素总结详细布置239. 滑动窗口最大值 (一刷至少需要理解思路之前讲的都是栈的应用,这次该是队列的应用了。本题算比较有难度的,需要自己去构造单调队列,建议先看视频来理解。347.前 K 个高频元素。原创 2023-11-07 10:32:27 · 84 阅读 · 0 评论 -
第五章 栈与队列part02
要知道栈为什么适合做这种类似于爱消除的操作,因为栈帮助我们记录了 遍历数组当前元素时候,前一个元素是什么。大家先自己思考一下 有哪些不匹配的场景,在看视频 我讲的都有哪些场景,落实到代码其实就容易很多了。本题不难,但第一次做的话,会很难想到,所以先看视频,了解思路再去做题。讲完了栈实现队列,队列实现栈,接下来就是栈的经典应用了。1047. 删除字符串中的所有相邻重复项。1047. 删除字符串中的所有相邻重复项。150. 逆波兰表达式求值。150. 逆波兰表达式求值。原创 2023-11-07 00:45:51 · 81 阅读 · 0 评论 -
第五章 栈与队列part01
等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。可以大家惯性思维,以为还要两个队列来模拟栈,其实只用一个队列就可以模拟栈了。deque是一个双向队列,只要封住一段,只开通另一端就可以实现栈的逻辑了。了解一下 栈与队列的内部实现机智,文中是以C++为例讲解的。的底层实现可以是vector,deque,list 都是可以的。大家可以先看视频,了解一下模拟的过程,然后写代码会轻松很多。建议大家掌握一个队列的方法,更简单一些,可以先看视频讲解。原创 2023-11-04 12:39:48 · 78 阅读 · 1 评论 -
第四章 字符串part02(KMP待完成)
因为大家 算法能力还没到,细扣 很难的算法,会把自己绕进去,就算别人给解释,只会激发出更多的问题和疑惑。因为KMP算法很难,大家别奢求 一次就把kmp全理解了,大家刚学KMP一定会有各种各样的疑问,先留着,别期望立刻啃明白,第一遍了解大概思路,二刷的时候,再看KMP会 好懂很多。KMP和本题,一刷的时候 ,可以适当放过,了解怎么回事就行,二刷的时候再来硬啃。或者说大家可以放弃一刷可以不看KMP,今天来回顾一下之前的算法题目就可以。双指针的题目了,来一起回顾一下,大家自己也总结一下双指针的心得。原创 2023-11-02 23:29:17 · 75 阅读 · 1 评论 -
第四章 字符串part01
当你将一个对象传递给一个采用引用参数的函数时,你实际上是将原始对象传递给该函数,而不是该对象的一个副本。建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数。建议:这道题目基本把 刚刚做过的字符串操作 都覆盖了,不过就算知道解题思路,本题代码并不容易写,要多练一练。: 因为你传递的是原始对象的引用,所以在函数内对该参数所做的任何修改都会影响到调用者看到的原始对象。建议:对于线性数据结构,填充或者删除,后序处理会高效的多。原创 2023-11-02 05:02:29 · 49 阅读 · 1 评论 -
第三章 哈希表part02
建议: 要比较一下,本题和 454.四数相加II 的区别,为什么 454.四数相加II 会简单很多,这个想明白了,对本题理解就深刻了。本题 思路整体和 三数之和一样的,都是双指针,但写的时候 有很多小细节,需要注意,建议先看视频。建议:本题虽然和 两数之和 很像,也能用哈希法,但用哈希法会很麻烦,双指针法才是正解,可以先看视频理解一下 双指针法的思路,文章中讲解的,没问题 哈希法很麻烦。建议:本题 和 242.有效的字母异位词 是一个思路 ,算是拓展题。454.四数相加II。454.四数相加II。原创 2023-11-01 12:54:01 · 58 阅读 · 1 评论 -
第三章 哈希表part01
今日任务哈希表理论基础242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和详细布置哈希表理论基础哈希表的内部实现原理;;;以及;;和。什么时候想到用哈希法--------当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。这句话很重要,大家在做哈希表题目都要思考这句话。哈希表 Hash table数组就是一张哈希表, 哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素。原创 2023-10-31 01:31:54 · 96 阅读 · 1 评论 -
第二章 链表part02
双指针的操作,要注意,删除第N个节点,那么我们当前遍历的指针一定要指向 第N个节点的前一个节点,建议先看视频。算是链表比较有难度的题目,需要多花点时间理解 确定环和找环入口,建议先看视频。本题没有视频讲解,大家注意 数值相同,不代表指针相同。19.删除链表的倒数第N个节点。面试题 02.07. 链表相交。19.删除链表的倒数第N个节点。面试题 02.07. 链表相交。24. 两两交换链表中的节点。24. 两两交换链表中的节点。用虚拟头结点,这样会方便很多。142.环形链表II。142.环形链表II。原创 2023-10-29 06:28:56 · 236 阅读 · 0 评论 -
代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素
大家能把 704 掌握就可以,35.搜索插入位置 和 34. 在排序数组中查找元素的第一个和最后一个位置 ,如果有时间就去看一下,没时间可以先不看,二刷的时候在看。: 暴力的解法,可以锻炼一下我们的代码实现能力,建议先把暴力写法写一遍。: 了解一下数组基础,以及数组的内存空间地址,数组也没那么简单。熟悉 根据 左闭右开,左闭右闭 两种区间规则 写出来的二分法。双指针法 是本题的精髓,今日需要掌握。法一:一层找,二层修改,暴力。,至于拓展题目可以先不看。先把 704写熟练,要。原创 2023-10-26 06:35:45 · 672 阅读 · 0 评论