func generateMatrix(n int) [][]int {
matrix := make([][]int, n)
for i := range matrix {
matrix[i] = make([]int, n)
}
num := 1
left, right, top, bottom := 0, n-1, 0, n-1
for left <= right && top <= bottom {
for column := left; column <= right; column++ {
matrix[top][column] = num
num++
}
for row := top + 1; row <= bottom; row++ {
matrix[row][right] = num
num++
}
if left < right && top < bottom {
for column := right - 1; column > left; column-- {
matrix[bottom][column] = num
num++
}
for row := bottom; row > top; row-- {
matrix[row][left] = num
num++
}
}
left++
right--
top++
bottom--
}
return matrix
}
相关文章
- nodejs之使用express框架连接mongodb数据库
- Android 布局学习之——Layout(布局)具体解释二(常见布局和布局參数)
- Hdoj 1007 Quoit Design 题解
- 选择排序之Java实现
- Golang | Leetcode Golang题解之第59题螺旋矩阵II-题解:
- (LeetCode)用两个栈实现一个队列
- Python 机器学习 基础 之 学习 基础环境搭建
- 2024年第二十一届五一数学建模竞赛A题思路
- 【笔试题汇总】华为春招笔试题题解 2024-4-24
- Java-集合=第五题 (Map)设计Account 对象如下: private long id; private double balance; private String password; 要求完善设计,使得该Account 对象能够自动分配id。 给定一个List 如下: List list = new ArrayList(); list.add(new A