leetcode 59. 螺旋矩阵 II-java实现
题目所属分类
螺旋矩阵II
可以对比之前的leetcode 54. 螺旋矩阵-java实现看
原题链接
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
代码案例:
题解
class Solution {
public int[][] generateMatrix(int n) {
int[][] ans = new int[n][n];
int [] dx = {0,1,0,-1};
int[] dy = {1,0,-1,0};
boolean [][] st = new boolean[n][n];
for(int i = 1 , x = 0 , y =0 , d = 0;i <= n*n ; i++){
ans[x][y] = i ;
st[x][y] = true ;
int a = dx[d] + x ;
int b = dy[d] + y ;
if(a < 0 || a >= n || b < 0 || b >= n || st[a][b]){
d = (d+1)% 4 ;
a = dx[d] + x ;
b = dy[d] + y ;
}
x = a ;
y = b ;
}
return ans ;
}
}


浙公网安备 33010602011771号