diff --git a/26/04/1886.go b/26/04/1886.go new file mode 100644 index 0000000..ab3ef9f --- /dev/null +++ b/26/04/1886.go @@ -0,0 +1,33 @@ +package leetcode + +// 旋转90度通用方法就是 先水平旋转,然后转置 +func findRotation(mat [][]int, target [][]int) bool { + n := len(mat) + // 最多旋转 4 次 + for k := 0; k < 4; k++ { + // 旋转操作 + for i := 0; i < n/2; i++ { + for j := 0; j < (n+1)/2; j++ { + mat[i][j], mat[n-1-j][i], mat[n-1-i][n-1-j], mat[j][n-1-i] = + mat[n-1-j][i], mat[n-1-i][n-1-j], mat[j][n-1-i], mat[i][j] + } + } + + if isEqual(mat, target) { + return true + } + } + return false +} + +func isEqual(mat, target [][]int) bool { + n := len(mat) + for i := 0; i < n; i++ { + for j := 0; j < n; j++ { + if mat[i][j] != target[i][j] { + return false + } + } + } + return true +}