1886.go 674 B

123456789101112131415161718192021222324252627282930313233
  1. package leetcode
  2. // 旋转90度通用方法就是 先水平旋转,然后转置
  3. func findRotation(mat [][]int, target [][]int) bool {
  4. n := len(mat)
  5. // 最多旋转 4 次
  6. for k := 0; k < 4; k++ {
  7. // 旋转操作
  8. for i := 0; i < n/2; i++ {
  9. for j := 0; j < (n+1)/2; j++ {
  10. mat[i][j], mat[n-1-j][i], mat[n-1-i][n-1-j], mat[j][n-1-i] =
  11. mat[n-1-j][i], mat[n-1-i][n-1-j], mat[j][n-1-i], mat[i][j]
  12. }
  13. }
  14. if isEqual(mat, target) {
  15. return true
  16. }
  17. }
  18. return false
  19. }
  20. func isEqual(mat, target [][]int) bool {
  21. n := len(mat)
  22. for i := 0; i < n; i++ {
  23. for j := 0; j < n; j++ {
  24. if mat[i][j] != target[i][j] {
  25. return false
  26. }
  27. }
  28. }
  29. return true
  30. }
备用站点 当前处于降级运行的备用站点,仅供应急访问,数据和功能可能不是最新。