59. 螺旋矩阵 II
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 == 给数字,自己造一个矩阵 —> 原来是给矩阵,求数组
示例 1:
输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]
//时间Omn,空间Omnfunc generateMatrix(n int) [][]int {matrix := make([][]int, n)for i := range matrix {matrix[i] = make([]int, n)}num := 1 //多一段构造 matrixtop, bottom := 0, n -1left, right := 0, n -1for num <= n*n {for i := left; i <= right; i++ {matrix[top][i] = numnum++ //多一段 num++}top++for i := top; i <= bottom; i++ {matrix[i][right] = numnum++}right--for i := right; i >= left; i-- { //注意:这里i--,也变成bot相反matrix[bottom][i] = numnum++}bottom--for i := bottom; i >= top; i-- {matrix[i][left] = numnum++}left++}return matrix}
