要做网站,北京seo服务,单县菏泽网站建设,广州seo网络推广员《LeetCode力扣练习》代码随想录——数组#xff08;螺旋矩阵II—Java#xff09; 刷题思路来源于 代码随想录 59. 螺旋矩阵 II 左闭右开——[x,y) class Solution {public int[][] generateMatrix(int n) {if(n1){return new int[][]{{1}};}int[][] resultnew int[n][n];int…《LeetCode力扣练习》代码随想录——数组螺旋矩阵II—Java 刷题思路来源于 代码随想录 59. 螺旋矩阵 II 左闭右开——[x,y) class Solution {public int[][] generateMatrix(int n) {if(n1){return new int[][]{{1}};}int[][] resultnew int[n][n];int start0;int row-1;int col-1;int loop0;int offset1;int count1;for(;loop(n/2);loop){for(colstart;col(n-offset);col){result[start][col]count;}for(rowstart;row(n-offset);row){result[row][col]count;}for(;colstart;col--){result[row][col]count;}for(;rowstart;row--){result[row][col]count;}start;offset;}if(n%21){result[start][start]count;}return result;}
}54. 螺旋矩阵 左闭右开——[x,y) class Solution {public ListInteger spiralOrder(int[][] matrix) {int mmatrix.length;int nmatrix[0].length;if(m1n1){return Collections.singletonList(matrix[0][0]);}ListInteger resultnew ArrayList();int startRow0;int startCol0;int row-1;int col-1;int offset1;int loopmn?(m/2):(n/2);for(;loop0;loop--){for(colstartCol;col(n-offset);col){result.add(matrix[startRow][col]);}for(rowstartRow;row(m-offset);row){result.add(matrix[row][col]);}for(;colstartCol;col--){result.add(matrix[row][col]);}for(;rowstartRow;row--){result.add(matrix[row][col]);}startRow;startCol;offset;}if((mn?m:n)%21){if(nm){for(colstartCol;col(n-offset);col){result.add(matrix[startRow][col]);}}else{for(rowstartRow;row(m-offset);row){result.add(matrix[row][startCol]);}}}return result;}
}LCR 146. 螺旋遍历二维数组 左闭右开——[x,y) class Solution {public int[] spiralArray(int[][] array) {int marray.length;if(m0){return new int[]{};}int narray[0].length;if(m1n1){return new int[]{array[0][0]};}int[] resultnew int[m*n];int startRow0;int startCol0;int row-1;int col-1;int offset1;int loop(mn?m:n)/2;int count0;for(;loop0;loop--){for(colstartCol;col(n-offset);col){result[count]array[startRow][col];}for(rowstartRow;row(m-offset);row){result[count]array[row][col];}for(;colstartCol;col--){result[count]array[row][col];}for(;rowstartRow;row--){result[count]array[row][col];}offset;startRow;startCol;}if((mn?m:n)%21){if(nm){for(rowstartRow;row(m-offset);row){result[count]array[row][startCol];}}else{for(colstartCol;col(n-offset);col){result[count]array[startRow][col];}}}return result;}
}