6просмотров
42.9%от подписчиков
27 марта 2026 г.
📷 ФотоScore: 7
#leetcode #easy #microsoft #salesforce 2946. Matrix Similarity After Cyclic Shifts Дейлик литкода 27.03.2026 You are given an m x n integer matrix mat and an integer k. The matrix rows are 0-indexed. The following proccess happens k times:
Even-indexed rows (0, 2, 4, ...) are cyclically shifted to the left.
Odd-indexed rows (1, 3, 5, ...) are cyclically shifted to the right. Return true if the final modified matrix after k steps is identical to the original matrix, and false otherwise. Определение того, идентична ли строка, циклически сдвинутая вправо на k позиций, исходной, эквивалентно проверке того, остается ли она неизменной при сдвиге влево на k позиций. По сути, обе проверки подтверждают, выполняется ли условие mat[i][j]=mat[i][(j+k)modn], где n — количество столбцов. Таким образом, нам не нужно различать четные и нечетные строки. При обходе каждой строки, если мы встречаем какой-либо элемент, не удовлетворяющий этому условию, мы можем немедленно вернуть false. class Solution { public boolean areSimilar(int[][] mat, int k) { int m = mat.length; int n = mat[0].length; k %= n; 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; }
}