Determine Whether Matrix Can Be Obtained By Rotation
EasyArrayMatrix
Solution
export function findRotation(mat: number[][], target: number[][]): boolean {
const n = mat.length;
// Check 0, 90, 180, 270 Rotations
const isRotated = new Array(4).fill(1);
for (let y = 0; y < n; y++) {
for (let x = 0; x < n; x++) {
// 0deg
isRotated[0] &&= mat[y][x] === target[y][x];
// 90deg
isRotated[1] &&= mat[y][x] === target[n - x - 1][y];
// 180deg
isRotated[2] &&= mat[y][x] === target[n - y - 1][n - x - 1];
// 270deg
isRotated[3] &&= mat[y][x] === target[x][n - y - 1];
}
}
return isRotated.some((v) => v);
}