This commit is contained in:
programmercarl
2023-08-28 15:25:11 +08:00
parent fbf2e28029
commit a01c3f78cf

View File

@ -211,10 +211,6 @@ class Solution:
```javascript
/**
* @param {number} n
* @return {number[][]}
*/
var generateMatrix = function(n) {
let startX = startY = 0; // 起始位置
let loop = Math.floor(n/2); // 旋转圈数
@ -226,11 +222,11 @@ var generateMatrix = function(n) {
while (loop--) {
let row = startX, col = startY;
// 上行从左到右(左闭右开)
for (; col < startY + n - offset; col++) {
for (; col < n - offset; col++) {
res[row][col] = count++;
}
// 右列从上到下(左闭右开)
for (; row < startX + n - offset; row++) {
for (; row < n - offset; row++) {
res[row][col] = count++;
}
// 下行从右到左(左闭右开)
@ -247,7 +243,7 @@ var generateMatrix = function(n) {
startY++;
// 更新offset
offset += 2;
offset += 1;
}
// 如果n为奇数的话需要单独给矩阵最中间的位置赋值
if (n % 2 === 1) {
@ -257,6 +253,7 @@ var generateMatrix = function(n) {
};
```
### TypeScript: