# Solving Leetcode Interviews in Seconds with AI: Modify the Matrix


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "3033" 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
	> Given a 0-indexed m x n integer matrix matrix, create a new 0-indexed matrix called answer. Make answer equal to matrix, then replace each element with the value -1 with the maximum element in its respective column. Return the matrix answer.   Example 1:   Input: matrix = [[1,2,-1],[4,-1,6],[7,8,9]] Output: [[1,2,9],[4,8,6],[7,8,9]] Explanation: The diagram above shows the elements that are changed (in blue). - We replace the value in the cell [1][1] with the maximum value in the column 1, that is 8. - We replace the value in the cell [0][2] with the maximum value in the column 2, that is 9.  Example 2:   Input: matrix = [[3,-1],[5,2]] Output: [[3,2],[5,2]] Explanation: The diagram above shows the elements that are changed (in blue).    Constraints:  m == matrix.length n == matrix[i].length 2 <= m, n <= 50 -1 <= matrix[i][j] <= 100 The input is generated such that each column contains at least one non-negative integer.  

	# Explanation
	Here's the breakdown of the solution:

*   **Find Column Maxima:** Iterate through each column of the matrix and determine the maximum value within that column. Store these maximum values in an array.
*   **Replace -1 Values:** Iterate through the matrix again. If an element is equal to -1, replace it with the corresponding column's maximum value that was calculated in the first step.
*   **Return Modified Matrix:** After replacing all -1 values, return the modified matrix.

*   **Runtime Complexity:** O(m\*n), where 'm' is the number of rows and 'n' is the number of columns.
*   **Storage Complexity:** O(n) due to the `column_max` array.

	
	# Code
	```python
	def replace_negative_one(matrix):
    """
    Replaces -1 values in a matrix with the maximum value in their respective column.

    Args:
        matrix: A list of lists representing the input matrix.

    Returns:
        A list of lists representing the modified matrix.
    """

    rows = len(matrix)
    cols = len(matrix[0])

    column_max = [float('-inf')] * cols  # Initialize with negative infinity

    # Find the maximum value in each column
    for j in range(cols):
        for i in range(rows):
            column_max[j] = max(column_max[j], matrix[i][j])

    # Replace -1 values with the column maximum
    for i in range(rows):
        for j in range(cols):
            if matrix[i][j] == -1:
                matrix[i][j] = column_max[j]

    return matrix
	```
			
