矩陣 旋轉影象 go語言
阿新 • • 發佈:2018-11-13
給定一個 n × n 的二維矩陣表示一個影象。 將影象順時針旋轉 90 度。 說明: 你必須在原地旋轉影象,這意味著你需要直接修改輸入的二維矩陣。請不要使用另一個矩陣來旋轉影象。 示例 1: 給定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋轉輸入矩陣,使其變為: [ [7,4,1], [8,5,2], [9,6,3] ] 示例 2: 給定 matrix = [ [ 5, 1, 9,11], [ 2, 4, 8,10], [13, 3, 6, 7], [15,14,12,16] ], 原地旋轉輸入矩陣,使其變為: [ [15,13, 2, 5], [14, 3, 4, 1], [12, 6, 8, 9], [16, 7,10,11] ]
func rotate(matrix [][]int) {
n := len(matrix)
for i := 0; i < len(matrix)/2; i++ {
for j := i; j < n-1-i; j++ {
matrix[i][j],matrix[n-1-j][i],matrix[n-1-i][n-1-j],matrix[j][n-1-i]=matrix[n-1-j][i],matrix[n-1-j][n-1-j],matrix[j][n-1-i], matrix[i][j]
}
}
}