- 博客(4)
- 收藏
- 关注
原创 day04 24两两交换链表中的节点 19删除链表的倒数第N个节点 0207链表相交 142环形链表Ⅱ
新建一个虚拟头节点指向head,快慢指针都指向虚拟头节点,快指针比慢指针先走n个节点。判断是否有环以及环的入口 画图及列公式。使用模拟头节点,整体思路如下图。142.环形链表II 较难。中间的两个if需要理解。
2024-09-29 15:50:18 174
原创 day03 链表部分 203移除链表元素 707设计链表 206反转链表
链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。链表的入口节点称为链表的头结点也就是head。数组是在内存中是连续分布的,但是链表在内存中可不是连续分布的。各个节点分布在内存的不同地址空间上,通过指针串联在一起。:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。(如上图所示):单链表中的指针域只能指向节点的下一个节点。,将原链表的所有节点按照统一的方式进行移除。
2024-09-29 11:56:41 436
原创 day02 209长度最小的子数组 59螺旋矩阵 58区间和 44开发商购买土地
因为如果所有子集都比目标值小时,最终result还是数组长度,无法保证是没有满足条件的子集,还是恰好找到了符合条件且长度恰好为数组长度的子集。窗口的起始位置如何移动:如果当前窗口的值大于等于s了,窗口就要向前移动了(即该缩小了)。窗口的结束位置如何移动:窗口的结束位置就是遍历数组的指针,也就是for循环里的索引。的思想是重复利用计算过的子数组之和,从而降低区间查询需要累加计算的次数。求区间下标 [2, 5] 的区间和,那么应该是 p[5] - p[1]的和求出来,这样可以方便知道划分的两个区间的和。
2024-09-28 21:45:30 190
原创 day01 704二分查找 27移除元素 977 有序数组的平方
数组其实是有序的, 只不过负数平方之后可能成为最大数了。那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。暴力的解法:两层for循环,一个for循环遍历数组元素 ,第二个for循环更新数组,但是时间复杂度为O(n^2),比较高。定义一个新数组result,和A数组一样的大小,易错点:开闭区间,这里用的是左闭右闭区间。的应用,比暴力解法的效果好。因此可以考虑双指针法了,977 有序数组的平方。
2024-09-27 17:14:00 394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人