# Solving Leetcode Interviews in Seconds with AI: Check if Grid Satisfies Conditions


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "3142" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> You are given a 2D matrix grid of size m x n. You need to check if each cell grid[i][j] is:  Equal to the cell below it, i.e. grid[i][j] == grid[i + 1][j] (if it exists). Different from the cell to its right, i.e. grid[i][j] != grid[i][j + 1] (if it exists).  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:  1 <= n, m <= 10 0 <= grid[i][j] <= 9  

	# Explanation
	Here's the breakdown of the solution:

*   **Iterate through the grid:** The code will iterate through each cell of the given grid to check the specified conditions.
*   **Check conditions:** For each cell, it verifies if the value is equal to the cell below it (if it exists) and different from the cell to its right (if it exists).
*   **Early exit:** If any of the conditions are not met, the function immediately returns `False`. If the entire grid is traversed without finding any violations, it returns `True`.

*   **Runtime Complexity:** O(m\*n), where m is the number of rows and n is the number of columns. **Storage Complexity:** O(1).

	
	# Code
	```python
	def check_grid_conditions(grid):
    """
    Checks if each cell in the grid satisfies the given conditions.

    Args:
        grid: A 2D matrix (list of lists) representing the grid.

    Returns:
        True if all cells satisfy the conditions, False otherwise.
    """
    m = len(grid)
    n = len(grid[0]) if m > 0 else 0  # Handle empty grid case

    for i in range(m):
        for j in range(n):
            # Check condition 1: Equal to the cell below (if exists)
            if i + 1 < m:
                if grid[i][j] != grid[i + 1][j]:
                    return False

            # Check condition 2: Different from the cell to the right (if exists)
            if j + 1 < n:
                if grid[i][j] == grid[i][j + 1]:
                    return False

    return True
	```
			
