27 lines
480 B
Go
27 lines
480 B
Go
// Package q2946 implements a solution for https://leetcode.com/problems/matrix-similarity-after-cyclic-shifts/
|
|
package q2946
|
|
|
|
func areSimilar(mat [][]int, k int) bool {
|
|
w := len(mat[0])
|
|
k %= w
|
|
if k == 0 {
|
|
return true
|
|
}
|
|
|
|
for r := range mat {
|
|
for c := range w {
|
|
var shifted int
|
|
if r%2 == 0 {
|
|
shifted = (c + k) % w
|
|
} else {
|
|
shifted = (c + w - k) % w
|
|
}
|
|
if mat[r][shifted] != mat[r][c] {
|
|
return false
|
|
}
|
|
}
|
|
}
|
|
return true
|
|
}
|
|
|
|
var _ = areSimilar
|