代码随想录算法训练营79期
文章平均质量分 78
树欲静而风不止慢一点吧
快乐电工爱打码
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
代码随想录算法训练营第三天| 链表理论基础、203. 移除链表元素、707. 设计链表、206. 反转链表
链表理论基础链表和数组一样,都是能存储多个数据的结构。它们的区别是:数组存的元素在内存中是排列在一起的,链表存的元素在内存中的位置是随机的,一个元素除了有数据外,还有一个指向下一个元素的指针。所以,对数组进行查询操作的时间复杂度是O(1),因为计算机已经知道某个下标的元素是放在哪,而查询链表元素的时间复杂度是O(n),在最极端的情况下,我们需要从链表的第一个元素查询到最后一个元素才找到我们需要的值。那链表是不是就不如数组了?非也非也,链表在增加、删除元素的时候比数组高效。原创 2026-01-19 23:19:11 · 1024 阅读 · 0 评论 -
代码随想录算法训练营第二天| 209. 长度最小的子数组、 59. 螺旋矩阵II、44. 区间和、58. 开发商购买土地。
3. 分别遍历两个数组,使用一个变量cur_cut,每轮循环加上轮到的数组元素,来表示开发商A分了多少地。我们使用一个for循环j指针遍历数组,并把j指针所在的位置看成是子数组的末端,子数组的首端设置为i指针,只有在子数组的长度大于等于target才更新,就可以使用一个for循环干两个for循环的事情。如果使用两个for循环遍历,就相当于一开始i指针在数组的首端,另外一个j指针遍历其后的情况,下一次循环i再慢慢地后移;2. 使用两个一维数组,一个记录每行元素之和,一个记录每列元素之和。原创 2026-01-15 23:41:19 · 498 阅读 · 0 评论 -
代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素、977. 有序数组的平方。
题目给出的数组是升序的。对其元素平方后,其数据要不就中间小两头大(有负数),要不就还是升序。采用初始时一个指向起始位置、一个指向终止位置的双指针进行比较遍历,并把大者逆序存在result中就是答案了。时间复杂度O(n + nlogn),遍历和快排。解决问题的关键在于搜索区间的定义。原创 2026-01-14 16:05:31 · 435 阅读 · 0 评论
分享