
数组和矩阵
111
Haha@25
300字以内
展开
-
769. 最多能完成排序的块(数组与矩阵)
当遍历到第i个位置时,如果可以切分为块,那前i个位置的最大值一定等于i。否则,一定有比i小的数划分到后面的块,那块排序后,一定不满足升序。class Solution { public int maxChunksToSorted(int[] arr) { //当遍历到第i个位置时,如果可以切分为块,那前i个位置的最大值一定等于i。 //否则,一定有比i...原创 2020-02-02 19:54:54 · 237 阅读 · 0 评论 -
565. 数组嵌套(数组与矩阵)(复习)
关键点(排除冗余计算点)当我们向对应于任何索引的集合添加元素 nums [j]nums[j] 时,我们将其位置标记为在 visitedvisited 数组中访问。这样做是为了在将来选择此索引作为起始索引时,我们不会进行冗余 countcount 计算,因为我们已经考虑了与此索引链接的元素。class Solution { public int arrayNesting(int[]...原创 2020-02-02 17:47:55 · 258 阅读 · 0 评论 -
766. 托普利茨矩阵(数组与矩阵)
遍历数组的所有对角线,若每条对角线的元素内部都相等,则是托普利茨矩阵class Solution { public boolean isToeplitzMatrix(int[][] matrix) { int i = 0,j = 0; for(j = 0; j<matrix[0].length; j++){ int tmp ...原创 2020-02-02 16:38:20 · 305 阅读 · 0 评论 -
667. 优美的排列 II(回看)
111原创 2020-02-02 11:10:34 · 98 阅读 · 0 评论 -
697. 数组的度(复习)(数组与矩阵)
1111原创 2020-02-02 10:17:19 · 100 阅读 · 0 评论 -
287. 寻找重复数(数组与矩阵)(回看)
方法一:排序class Solution { public int findDuplicate(int[] nums) { Arrays.sort(nums); for (int i = 1; i < nums.length; i++) { if (nums[i] == nums[i-1]) { ...原创 2020-02-01 11:27:22 · 183 阅读 · 0 评论 -
645. 错误的集合(数组与矩阵)
class Solution { public int[] findErrorNums(int[] nums) { int [] res = new int[2]; int [] numOccr = new int[nums.length+1]; for(int i =0 ;i<nums.length;i++){ ...原创 2020-02-01 11:14:21 · 134 阅读 · 0 评论 -
378. 有序矩阵中第K小的元素(转)(回看)(数组于矩阵)
1.找出二维矩阵中最小的数left,最大的数right,那么第k小的数必定在left~right之间2.mid=(left+right) / 2;在二维矩阵中寻找小于等于mid的元素个数count3.若这个count小于k,表明第k小的数在右半部分且不包含mid,即left=mid+1, right=right,又保证了第k小的数在left~right之间4.若这个count大于k,表明第k...原创 2020-02-01 11:03:22 · 187 阅读 · 0 评论 -
240. 搜索二维矩阵 II(数组与矩阵)
方法一,暴力法class Solution { public boolean searchMatrix(int[][] matrix, int target) { for(int i=0;i<matrix.length;i++) for(int j=0;j<matrix[0].length;j++){ if(matri...原创 2020-02-01 09:48:10 · 191 阅读 · 0 评论 -
485. 最大连续1的个数(数组与矩阵)
class Solution { public int findMaxConsecutiveOnes(int[] nums) { int max = 0,cnt = 0; for(int i = 0;i<nums.length;i++){ if(nums[i]!=0) cnt++; else{ ...原创 2020-01-31 17:20:45 · 298 阅读 · 0 评论 -
566. 重塑矩阵(回看)
错误解(数据越界)class Solution { public int[][] matrixReshape(int[][] nums, int r, int c) { int [][] reshapedNums = new int[r][c]; int cntx = 0,cnty = 0; int x = nums[0].length,...原创 2020-01-31 14:20:51 · 143 阅读 · 0 评论 -
283. Move Zeroes
一次遍历。class Solution { public void moveZeroes(int[] nums) { int cnt = 0; for(int i = 0;i<nums.length;i++) { if(nums[i] == 0) cnt++; else{ ...原创 2020-01-31 11:36:35 · 96 阅读 · 0 评论