- 给你一个正整数
n,生成一个包含1到n2所有元素,且元素按顺时针顺序螺旋排列的n x n正方形矩阵matrix
/**
* @param {number} n
* @return {number[][]}
*/
var generateMatrix = function(n) {
let k = 1,res = [], u = 0, d = n - 1, l = 0, r = n - 1
for(let i = 0; i < n;i++) {
res[i] = []
}
while(k <= n * n) {
for(let j = l; j <= r; j++) {
res[u][j] = k++
}
u++
for(let j = u; j <= d;j++) {
res[j][r] = k++
}
r--
for(let j = r;j>=l;j--) {
res[d][j] = k++
}
d--
for(let j = d;j >= u; j--) {
res[j][l] = k++
}
l++
}
return res
};