021_旋转图像
知识点:线性代数题
LeetCode第四十八题:https://leetcode-cn.com/problems/rotate-image/submissions/
语言:GoLang
// 线性代数题
func rotate(matrix [][]int) {
length := len(matrix)
for i := 0; i < length / 2; i++ {
helper(matrix, i, length - i * 2)
}
}
func helper(matrix [][]int, x int, n int) {
tmp := make([]int, n)
for i := 0; i < n; i++ {
tmp[i] = matrix[x][x + i]
}
for i := n - 1; i >= 0; i-- {
matrix[x][x + i] = matrix[x + n - 1 - i][x]
}
for i := 0; i < n; i++ {
matrix[x + i][x] = matrix[x + n - 1][x + i]
}
for i := 0; i < n; i++ {
matrix[x + n - 1][x + i] = matrix[x + n - 1 - i][x + n - 1]
}
matrix[x + n - 1][x + n - 1] = tmp[n - 1]
for i := n - 1; i >= 0; i-- {
matrix[x + i][x + n - 1] = tmp[i]
}
}

浙公网安备 33010602011771号