摘要: 209. 长度最小的子数组 滑动窗口 思路 初始化滑动窗口的起始位置 left = 0、终止位置 right = 0。 外循环先确定滑动窗口的终止位置(增大滑动窗口),找到符合条件的子序列, 根据当前子序列元素和大小的情况,在内循环中移动滑动窗口的起始位置(缩小滑动窗口),找到长度更小的且符合条件的 阅读全文
posted @ 2025-10-12 23:14 Nickey103 阅读(48) 评论(0) 推荐(0)
摘要: 977. 有序数组的平方 相向双指针 思路 nums数组非递减,平方后最大值一定在待排序区间的最两端(最左端 left 或最右端 right),每次循环取最大值添加到res数组中, 更新对应的边界缩小区间,重复上述过程直至 left > right。 class Solution { public 阅读全文
posted @ 2025-10-12 21:05 Nickey103 阅读(13) 评论(0) 推荐(0)
摘要: 977. 有序数组的平方 不停地根据错误用例给代码打补丁,最后还是会有新的错误用例,永远补不好。 下面展示一下耗时1小时产出的💩 class Solution { public int[] sortedSquares(int[] nums) { // 统计nums数组中非正数的个数 int cou 阅读全文
posted @ 2025-10-12 20:37 Nickey103 阅读(11) 评论(0) 推荐(0)
摘要: 27. 移除元素 1、暴力 解题过程 外层循环遍历nums数组,当遇到等于val的元素时,进入内层循环将后续元素均前移一位,覆盖前一个元素。 时间复杂度: O(n^2) 空间复杂度: O(1) class Solution { public int removeElement(int[] nums, 阅读全文
posted @ 2025-10-12 17:12 Nickey103 阅读(18) 评论(0) 推荐(0)
摘要: 简洁 Java中的二维数组是数组的数组 int[][] rating = new int[3][4]; 行内元素在内存中连续存储,行之间的元素不连续。 rating[0]、rating[1]、rating[2]分别指向一个一维数组 详细 进阶 **交错数组 ** // 只指定行数,不指定列数 int 阅读全文
posted @ 2025-10-12 11:16 Nickey103 阅读(15) 评论(0) 推荐(0)