Similar Problems

Similar Problems not available

Special Positions In A Binary Matrix - Leetcode Solution

Companies:

LeetCode:  Special Positions In A Binary Matrix Leetcode Solution

Difficulty: Easy

Topics: matrix array  

Problem Description:

Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resulting image.

To flip an image horizontally means that each row of the image is reversed.

For example, flipping [1, 1, 0] horizontally results in [0, 1, 1].

To invert an image means that each 0 is replaced by 1, and each 1 is replaced by 0.

For example, inverting [0, 1, 1] results in [1, 0, 0].

Example 1:

Input: [[1,1,0],[1,0,1],[0,0,0]] Output: [[1,0,0],[0,1,0],[1,1,1]] Explanation: First reverse each row: [[0,1,1],[1,0,1],[0,0,0]]. Then, invert the image: [[1,0,0],[0,1,0],[1,1,1]]

Example 2:

Input: [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]] Output: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]] Explanation: First reverse each row: [[0,0,1,1],[1,0,0,1],[1,1,1,0],[0,1,0,1]]. Then, invert the image: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]

Solution:

One solution to solve this problem is to first reverse each row of the binary matrix and then invert binary values in each row.

To reverse each row of the binary matrix, we can simply use the python's built-in reverse function.

To invert the binary values in each row, we can use python's built-in map function to convert each element of the row to its opposite value (0->1, 1->0).

Here's the Python code implementation of the above approach:

class Solution: def flipAndInvertImage(self, A: List[List[int]]) -> List[List[int]]: for row in A: row.reverse() # Reverse the elements of each row for row in A: row[:] = map(lambda x: 1-x, row) # Invert binary values in each row return A

Time Complexity:

The solution uses two for loops to traverse the matrix, which makes the time complexity of the solution O(N^2).

Space Complexity:

The solution uses constant auxiliary space, which makes the space complexity of the solution O(1).

Summary:

This problem was relatively simple, and python's built-in functions made it easy to implement.

Special Positions In A Binary Matrix Solution Code

1