/**
* Problem: LeetCode 2946 - Matrix Similarity After Cyclic Shifts
* Difficulty: Easy
* Language: Java
* Author: CodeByTushu
*/
class Solution {
public boolean areSimilar(int[][] mat, int k) {
int m = mat.length;
int n = mat[0].length;
k %= n;
if (k == 0) {
return true;
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (mat[i][j] != mat[i][(j + k) % n]) {
return false;
}
}
}
return true;
}
}
"""
Problem: LeetCode 2946 - Matrix Similarity After Cyclic Shifts
Difficulty: Easy
Language: Python
Author: CodeByTushu
"""
class Solution:
def areSimilar(self, mat: list[list[int]], k: int) -> bool:
m = len(mat)
n = len(mat[0])
k %= n
if k == 0:
return True
for i in range(m):
for j in range(n):
if mat[i][j] != mat[i][(j + k) % n]:
return False
return True
/**
* Problem: LeetCode 2946 - Matrix Similarity After Cyclic Shifts
* Difficulty: Easy
* Language: C++
* Author: CodeByTushu
*/
#include <vector>
using namespace std;
class Solution {
public:
bool areSimilar(vector<vector<int>>& mat, int k) {
int m = mat.size();
int n = mat[0].size();
k %= n;
if (k == 0) {
return true;
}
for (int i = 0; i < m; ++i) {
for (int j = 0; j < n; ++j) {
if (mat[i][j] != mat[i][(j + k) % n]) {
return false;
}
}
}
return true;
}
};
/**
* Problem: LeetCode 2946 - Matrix Similarity After Cyclic Shifts
* Difficulty: Easy
* Language: JavaScript
* Author: CodeByTushu
*/
var areSimilar = function(mat, k) {
const m = mat.length;
const n = mat[0].length;
k %= n;
if (k === 0) {
return true;
}
for (let i = 0; i < m; i++) {
for (let j = 0; j < n; j++) {
if (mat[i][j] !== mat[i][(j + k) % n]) {
return false;
}
}
}
return true;
};