package top100liked import ( "fmt" "testing" ) // https://leetcode.cn/problems/rotate-image/?envType=study-plan-v2&envId=top-100-liked func rotate(matrix [][]int) { n := len(matrix) for i := range (n-1)/2 + 1 { for j := i; j < max(j, n-i-1); j++ { tmp := matrix[i][j] for range 4 { matrix[j][n-i-1], tmp = tmp, matrix[j][n-i-1] i, j = j, n-i-1 } } } } func TestS20(t *testing.T) { matrix := [][]int{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} rotate(matrix) fmt.Printf("%+v\n", matrix) matrix = [][]int{{5, 1, 9, 11}, {2, 4, 8, 10}, {13, 3, 6, 7}, {15, 14, 12, 16}} rotate(matrix) fmt.Printf("%+v\n", matrix) }