- 博客(4)
- 收藏
- 关注
原创 代码随想录算法训练营第四天24.两两交换链表中的节点19.删除链表中的倒数第N个节点.面试题02.07链表相交142环形链表
19.删除链表中的倒数第n个节点。24.两两交换链表中的节点。面试题02.07.链表相交。
2023-07-30 22:55:05 56 1
原创 代码随想录算法训练营第三天203.移除链表元素707.设计链表206.反转链表
思路:关键在于采用虚拟头结点的方式,操作第n个结点时第n个一定要是current.next这样才能定位到第n-1个节点。思路:头结点的删除与非头结点的删除不一样,使用虚拟结点统一对结点的操作。203.移除链表元素。
2023-07-30 22:37:38 78 1
原创 代码随想录算法训练营第二天977.有序数组的平方209.长度最小的子数组59.螺旋矩阵
思路:有正数有负数的非递减数组特性,平方的最大值一定在数组的两端,利用双指针,两端各一指针比较即得出最大值。代码实现:理解j为什么指向终止位置(去想若他指向起始位置就又回到了两层for暴力解法)暴力解法:关键在于一层for控制起始位置,一层for控制终止位置(代码待补充)思路:滑动窗口思想(也是基于双指针的,一指向起始一指向终止)先去指定终止位置,满足条件的情况下动态的移动起始位置。59.螺旋矩阵-------(待补充)209.长度最小的子数组。977.有序数组的平方。
2023-07-28 00:16:31 241 1
原创 代码随想录算法训练营第一天704.二分查找、27.移除元素
快指针是去寻找新数组(删除指定元素后的数组)所需的元素,而快指针当前指的元素并不一定是新数组所需要的,所以快指针一直往下走并进行判断(循环);慢指针是新数组的下标值只有当快指针当前指向的元素是新数组所需要的才赋值给当前慢指针指向的下标并往下走一个(+1);思路:区间内搜索 left right middle 左闭右闭 左闭右开 [left,right] [left,right)关键:循环不变量,坚持区间合法性来处理边界条件(循环条件,判断条件,赋值)双指针思路:快指针与慢指针 复杂度O(n)
2023-07-26 23:10:04 346 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人