
数组
朴实无华
Chamberlain T
尼蝶
展开
-
代码随想录算法训练营day2 | 977. 有序数组的平方,209. 长度最小的子数组
代码随想录算法训练营day2 | 977. 有序数组的平方,209. 长度最小的子数组原创 2023-07-14 18:10:50 · 153 阅读 · 0 评论 -
代码随想录算法训练营day1 | 704. 二分查找,27. 移除元素
704. 二分查找,27. 移除元素原创 2023-07-12 23:14:33 · 475 阅读 · 0 评论 -
LeetCode.1470. 重新排列数组
【代码】LeetCode.1470. 重新排列数组。原创 2022-08-30 02:54:43 · 150 阅读 · 0 评论 -
LeetCode.1365. 有多少小于当前数字的数字
LeetCode.1365. 有多少小于当前数字的数字原创 2022-08-29 18:31:40 · 523 阅读 · 0 评论 -
LeetCode.27.移除元素
LeetCode.27.移除元素原创 2022-07-29 18:27:35 · 288 阅读 · 0 评论 -
LeetCode.1109. 航班预订统计
LeetCode.1109. 航班预订统计难度:medium思路:差分数组,注意细节diff[0] = nums[0];代码:class Solution { public int[] corpFlightBookings(int[][] bookings, int n) { int[] nums = new int[n]; Difference difference = new Difference(nums); ..原创 2022-05-24 14:10:05 · 209 阅读 · 0 评论 -
LeetCode.304. 二维区域和检索 - 矩阵不可变
LeetCode.304. 二维区域和检索 - 矩阵不可变难度:medium思路:二维数组的前缀和,preSum[i][j]存储闭区间(0,0)到(i-1,j-1)的方框存储的数的和 ;初始化preSum:preSum[i][j] = preSum[i - 1][j] + preSum[i][j - 1] + matrix[i - 1][j - 1] - preSum[i - 1][j - 1]计算区间:preSum[row2 + 1][col2 + 1...原创 2022-05-20 16:52:33 · 256 阅读 · 0 评论 -
Leetcode.303. 区域和检索 - 数组不可变
Leetcode.303. 区域和检索 - 数组不可变难度:easy思路:最容易想到的是通过for循环来扫描统计,但这样的话每次检索的时间复杂度都是O(n),检索次数很多的话效率不高。 很容易想到利用前缀和将时间复杂度降为O(1),每次只需要将前缀和数组两个元素做差即可。 细节:注意preSum[0] = 0,preSum[i]存储的是闭区间下标0 ~ i-1的和;代码:class NumArray { /...原创 2022-05-20 16:05:01 · 305 阅读 · 0 评论 -
LeetCode.59. 螺旋矩阵 II
LeetCode.59. 螺旋矩阵 II难度:mediumJava:模拟法,方法类似于LeetCode.54.螺旋矩阵,与这道题不同的是,本题的解法我没有使用上下左右边界大小去判定跳出,而是使用一共要打印的数的总数去计算,当n*n个数都被写入数组时,则跳出;class Solution { public int[][] generateMatrix(int n) { int[][] ans = new int[n][n]; int num..原创 2021-12-27 21:11:02 · 163 阅读 · 0 评论 -
LeetCode.54.螺旋矩阵
LeetCode.54.螺旋矩阵难度:mediumJava:简单的模拟法,从外围转圈向内部并且不断缩小边界;未通过版本://未通过class Solution { public List<Integer> spiralOrder(int[][] matrix) { List<Integer> list = new ArrayList<>(); int rows = matrix.length; ..原创 2021-12-27 20:53:56 · 306 阅读 · 0 评论 -
LeetCode.209.长度最小的数组
LeetCode.209.长度最小的数组原创 2021-12-23 15:20:18 · 460 阅读 · 0 评论 -
LeetCode.977.有序数组的平方
LeetCode.977.有序数组的平方难度:easy一.暴力法Java:class Solution { public int[] sortedSquares(int[] nums) { for (int i = 0; i < nums.length; i++) { nums[i] = (int)Math.pow(nums[i], 2); } Arrays.sort(nums); ..原创 2021-12-21 20:23:38 · 326 阅读 · 0 评论 -
LeetCode.35.搜索插入位置
LeetCode.35.搜索插入位置难度:easyJava:暴力法:class Solution { public int searchInsert(int[] nums, int target) { for (int i = 0; i < nums.length; i++) { if (nums[i] >= target) { return i; } .原创 2021-12-19 20:10:41 · 142 阅读 · 0 评论 -
LeetCode.704.二分查找
LeetCode.704.二分查找难度:easy简单的二分查找,需要注意的是每次判断和查找的边界处理:左闭右闭和左闭右开的查找在细节上的处理是不一样的;Java:左闭右闭:class Solution { public int search(int[] nums, int target) { if (target < nums[0] || target >nums[nums.length - 1]) { return -.原创 2021-12-19 19:29:23 · 146 阅读 · 0 评论