136 - 59 螺旋矩阵2
题目
给定一个正整数 n,生成一个包含 1 到 $n^2$ 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]
解答
就。硬算。。
var generateMatrix = function(n) {
const mat = new Array(n)
for (let i = 0; i < n; i++) {
mat[i] = new Array(n)
}
let l = 0,
r = n - 1,
t = 0,
b = n - 1,
now = 0,
tar = n * n
while (now < tar) {
for (let i = l; i <= r; i++) {
mat[t][i] = ++now
}
for (let i = ++t; i <= b; i++) {
mat[i][r] = ++now
}
for (let i = --r; i >= l; i--) {
mat[b][i] = ++now
}
for (let i = --b; i >= t; i--) {
mat[i][l] = ++now
}
l++
}
return mat
};Runtime: 52 ms, faster than 85.66% of JavaScript online submissions for Spiral Matrix II.
Memory Usage: 33.8 MB, less than 100.00% of JavaScript online submissions for Spiral Matrix II.

Runtime: 60 ms, faster than 34.40% of JavaScript online submissions for Spiral Matrix II.
Memory Usage: 33.9 MB, less than 100.00% of JavaScript online submissions for Spiral Matrix II.
Runtime: 24 ms, faster than 99.97% of Python3 online submissions for Spiral Matrix II.
Memory Usage: 12.8 MB, less than 100.00% of Python3 online submissions for Spiral Matrix II.
Last updated
Was this helpful?