LeetCode-in-Java

3142. Check if Grid Satisfies Conditions

Easy

You are given a 2D matrix grid of size m x n. You need to check if each cell grid[i][j] is:

Return true if all the cells satisfy these conditions, otherwise, return false.

Example 1:

Input: grid = [[1,0,2],[1,0,2]]

Output: true

Explanation:

All the cells in the grid satisfy the conditions.

Example 2:

Input: grid = [[1,1,1],[0,0,0]]

Output: false

Explanation:

All cells in the first row are equal.

Example 3:

Input: grid = [[1],[2],[3]]

Output: false

Explanation:

Cells in the first column have different values.

Constraints:

Solution

public class Solution {
    public boolean satisfiesConditions(int[][] grid) {
        int m = grid.length;
        int n = grid[0].length;
        for (int i = 0; i < m - 1; i++) {
            if (n > 1) {
                for (int j = 0; j < n - 1; j++) {
                    if ((grid[i][j] != grid[i + 1][j]) || (grid[i][j] == grid[i][j + 1])) {
                        return false;
                    }
                }
            } else {
                if (grid[i][0] != grid[i + 1][0]) {
                    return false;
                }
            }
        }
        for (int j = 0; j < n - 1; j++) {
            if (grid[m - 1][j] == grid[m - 1][j + 1]) {
                return false;
            }
        }
        return true;
    }
}