3142.判断矩阵是否满足条件

keybot
2
2025-08-20

#easy
给你一个大小为 m x n 的二维矩阵 grid 。你需要判断每一个格子 grid[i][j] 是否满足:

  • 如果它下面的格子存在,那么它需要等于它下面的格子,也就是 grid[i][j] == grid[i + 1][j] 。
  • 如果它右边的格子存在,那么它需要不等于它右边的格子,也就是 grid[i][j] != grid[i][j + 1] 。

如果 所有 格子都满足以上条件,那么返回 true ,否则返回 false 。

思路
遍历判断一下即可

bool satisfiesConditions(int** grid, int gridSize, int* gridColSize) {
    for (int i = 0; i < gridSize; i++) {
        for (int j = 0; j < gridColSize[0]; j++) {
            if (i + 1 < gridSize && grid[i][j] != grid[i + 1][j])
                return false;
            if (j + 1 < gridColSize[0] && grid[i][j] == grid[i][j + 1])
                return false;
        }
    }
    return true;
}