- 博客(21)
- 收藏
- 关注
原创 VSCode 关闭 abc 提示
这个提示在写文档的时候非常烦人,如果想要想要关闭这个可以在设置中关闭。关闭之后没有文本提示出来了。后没有文本提示出来了。
2025-02-27 21:55:33
315
原创 正则表达式
Positive Lookahead: 是一种在正则表达式中使用的零宽断言, 用于匹配一个特定的模式,但不会消耗字符. 换句话说, 正向前瞻会检查目标字符串中是否紧跟着一个符合条件的模式, 而不会将这个模式本身包含在匹配的结果中.
2024-12-24 09:28:05
559
原创 142.环形链表 II
如果在fastIdx变为nullptr之前,fastIdx和slowIdx指向同一个地址,说明存在换,否则就不存在环。定义两个指针fastIdx,slowIdx。还不太能够讲的清楚,后面再完善。
2024-08-13 23:27:14
144
原创 02.07.链表相交
因此可以定义两个指针temp1,temp2分别指向ListA,ListB,并让长的链表对应的指针先移动差值的长度。两个for循环嵌套,外层遍历ListA,对于ListA的每一个节点都去遍历一遍ListB,比对地址。通过两次遍历先得到ListA和ListB的长度Alen,Blen。两者的香蕉部分长度一致,产生差异的就是前面未相交的部分。让两个指针同步向后移动,遇到地址一样的节点证明是交点。时间复杂度为O(n2)时间复杂度:O(n)
2024-08-13 18:04:42
142
原创 19.删除链表的倒数第N个节点
最容易想到的就是,第一次遍历统计个数,通过计算得出节点在正数第几个。然后再遍历一次找到节点和前驱节点,删除目标节点,将前驱节点连接至后继节点即可。通过这样的策略能够保证fastNode在指向链表末尾nullptr时,slowNode正好指向需要删除的节点。
2024-08-12 18:29:42
172
原创 24.两两交换链表中的节点
本题给的链表不带头节点,我们可以自己加上一个辅助头节点,来统一链表中各个位置的节点的处理方式。交换两个节点的时候一定要注意步骤的顺序。
2024-08-12 17:43:47
168
原创 206.反转链表
循环条件和指针的移动顺序是比较容易出错的,正确编写代码的要点在于反复严格的按照代码手动模拟解题过程。这样能够找出代码中的逻辑漏洞。
2024-08-12 12:21:21
182
原创 203.移除链表元素
可以先大致写出代码的逻辑,然后严格按照逻辑去解决题目,在这个过程中就能逐步发现代码中的逻辑漏洞,重复该步骤直至能够正确的解决题目。本题的链表是不含头节点的链表,因此对于链表头节点的处理比较麻烦。删除节点的时候应该提前记录前驱节点的地址,用于连接后继节点。为了统一处理方式,在给传入链表添加一个头节点。
2024-08-11 18:18:12
223
原创 44.开发商购买土地
先求出每一列(行)的和,然后利用列(行)和求出每一列(行)的前缀和。利用列(行)的前缀和求出每种划分情况的差值,并找出最小值。
2024-08-11 11:49:44
639
原创 58.区间和
特别的,a = 0 时,该区间的和为 prefix[b] - 0 ,即prefix[b]因此下标[a,b]范围内元素的和 = prefix[b] - prefix[a-1];假设:nums是题目给出的数组,prefix为数组nums的前缀和数组。
2024-08-11 11:11:31
248
原创 59.螺旋矩阵 II
在一圈的处理过程中,每次每行(每列)处理前面几个,留下最后一个留作下次处理的开始。如果n为奇数,还需要处理最中间的方格。5*5的矩阵我们每次处理一圈。
2024-08-10 23:40:26
281
原创 209.长度最小的数组
fastidx从前往后遍历,每遍历一个元素,将该元素加至sum。时可用,因为只有此时,fastidx才能够准确指向最小区间的末尾。,更新区间长度,循环前移slowidx,尝试寻找更小的区间。
2024-08-10 20:37:17
523
原创 27.移除元素
slowidx:如果发现当前的nums[fastidx]值不为val,则将nums[slowidx]替换。fastidx:用于从头到尾遍历nums所有元素。
2024-08-09 23:52:28
156
原创 704.二分查找
的迭代都需要在不影响正确性的前提下尽可能缩小区间。的区间内,那么循环的条件就应该是。的写法,反而有可能得出错误答案。假设答案所处的区间在。
2024-08-08 20:18:48
988
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人