LeetCode 59. 螺旋矩阵 II C#
原题链接
中等
作者:
hpstory
,
2022-08-02 21:46:50
,
所有人可见
,
阅读 24
C# 代码
public class Solution {
public int[][] GenerateMatrix(int n) {
int[][] result = new int[n][];
for (int a = 0; a < n; a++){
result[a] = new int[n];
}
bool[,] used = new bool[n, n];
int[] dx = new int[4]{0, 1, 0, -1}, dy = new int[4]{1, 0, -1, 0};
int d = 0, i = 0, j = 0;
for (int k = 1; k <= n * n; k++){
result[i][j] = k;
used[i, j] = true;
int x = i + dx[d], y = j + dy[d];
if (x < 0 || x >= n || y < 0 || y >= n || used[x, y]){
d = (d + 1) % 4;
x = i + dx[d];
y = j + dy[d];
}
i = x;
j = y;
}
return result;
}
}