02 2022 档案
发表于 2022-02-18 23:07阅读:153评论:0推荐:0
摘要:思路 螺旋矩阵1,2: 1) 按顺时针方向模拟 定义方向=> 初始方向递进, 遇到转折点变换方向, 遍历全部元素 2) 按层模拟: 确定层数 ⇒ 处理层 ⇒ 处理非圈 题解 // [54. 螺旋矩阵](https://leetcode-cn.com/problems/spiral-matrix/)
阅读全文 »
发表于 2022-02-14 18:14阅读:27评论:0推荐:0
摘要:203. 移除链表元素 203. 移除链表元素 链表删除操作: 使用dummyHead, 遍历cur.next值是否等于val, 再执行删除操作, 使用while (cur.next != null) 循环 递归方法: 递归可以方便的进行重建链表, 重建过程中删除等于val就满足了条件。 //增加虚
阅读全文 »
发表于 2022-02-13 14:50阅读:28评论:0推荐:0
摘要:模拟过程-螺旋矩阵2 螺旋矩阵2 模拟遍历过程, 要按照外圈到内圈进行循环, 考虑奇数偶数不同。 题解 public class Solution { public int[][] generateMatrix(int n) { // 定义循环的偏移起点,循环次数 int startX = 0, s
阅读全文 »
发表于 2022-02-13 13:35阅读:39评论:0推荐:0
摘要:长度最小的子数组 滑动窗口-长度最小的子数组 暴力法: 区间由left, 和right确定, 因此需要两层for循环遍历left和right, O(n^2) 滑动窗口法: 滑动窗口也是使用双指针确定窗口的left和right, left和right如何移动?, right要从0 到length -
阅读全文 »
发表于 2022-02-13 00:48阅读:27评论:0推荐:0
摘要:有序数组的平方 有序数组的平方 暴力法: 平方后排序 首尾指针: 1)首尾指针元素选取平方的最大值添加入新数组, 对应指针移动, 循环是while(left ⇐ right) 题解 //双指针法(首尾指针法):时间复杂度O(n),空间复杂度O(n) class Solution { public i
阅读全文 »
发表于 2022-02-12 18:33阅读:79评论:0推荐:0
摘要:移除元素 移除元素 暴力解法: 1)遍历所有元素 2)遇到符合条件元素进行移除, 通过for循环将后序元素向前覆盖。 双指针可以通过一次for循环完成两个for循环的任务, 有快慢指针(两个指针从索引0开始移动,但是移动速度不同)for循环实现, 首尾指针(一个指针从0往后移动一个指针从后往0移动)
阅读全文 »