mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-11 21:10:58 +08:00
添加0059.螺旋矩阵II Swift 版本
This commit is contained in:
@ -302,6 +302,61 @@ func generateMatrix(n int) [][]int {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Swift:
|
||||||
|
|
||||||
|
```swift
|
||||||
|
func generateMatrix(_ n: Int) -> [[Int]] {
|
||||||
|
var result = [[Int]](repeating: [Int](repeating: 0, count: n), count: n)
|
||||||
|
|
||||||
|
var startRow = 0
|
||||||
|
var startColumn = 0
|
||||||
|
var loopCount = n / 2
|
||||||
|
let mid = n / 2
|
||||||
|
var count = 1
|
||||||
|
var offset = 1
|
||||||
|
var row: Int
|
||||||
|
var column: Int
|
||||||
|
|
||||||
|
while loopCount > 0 {
|
||||||
|
row = startRow
|
||||||
|
column = startColumn
|
||||||
|
|
||||||
|
for c in column ..< startColumn + n - offset {
|
||||||
|
result[startRow][c] = count
|
||||||
|
count += 1
|
||||||
|
column += 1
|
||||||
|
}
|
||||||
|
|
||||||
|
for r in row ..< startRow + n - offset {
|
||||||
|
result[r][column] = count
|
||||||
|
count += 1
|
||||||
|
row += 1
|
||||||
|
}
|
||||||
|
|
||||||
|
for _ in startColumn ..< column {
|
||||||
|
result[row][column] = count
|
||||||
|
count += 1
|
||||||
|
column -= 1
|
||||||
|
}
|
||||||
|
|
||||||
|
for _ in startRow ..< row {
|
||||||
|
result[row][column] = count
|
||||||
|
count += 1
|
||||||
|
row -= 1
|
||||||
|
}
|
||||||
|
|
||||||
|
startRow += 1
|
||||||
|
startColumn += 1
|
||||||
|
offset += 2
|
||||||
|
loopCount -= 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if (n % 2) != 0 {
|
||||||
|
result[mid][mid] = count
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user