59.螺旋矩阵Ⅱ
给你一个正整数 n
,生成一个包含 1
到 n²
所有元素,且元素按顺时针顺序螺旋排列的 n x n
正方形矩阵 matrix
。
示例 1:
输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]
示例 2:
输入:n = 1
输出:[[1]]
代码
// @lc code=start
/**
* @param {number} n
* @return {number[][]}
*/
//循环不变量原则——左闭右开
var generateMatrix = function(n) {
let startx = 0 ,starty = 0;//起始位置[0,0]
let loop = Math.floor(n / 2);//循环圈数
let mid = Math.floor(n / 2);//中间位置
let offset = 1;//控制每边长度
let count =1;//更新填充数字1,2,3...
/* js创建二维数组
const arr1 = Array(3).fill(0).map(x => Array(3).fill(0));
*/
let res = Array(n).fill(0).map(res => Array