Similar Problems
Similar Problems not available
Flipping An Image - Leetcode Solution
LeetCode: Flipping An Image Leetcode Solution
Difficulty: Easy
Topics: two-pointers matrix array bit-manipulation simulation
Problem Statement:
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:
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]]
Solution:
To solve this problem, we can use the following steps:
-
Loop through each row of the given matrix and reverse it.
-
Then, loop through each element of the matrix and invert it.
-
Return the resulting matrix.
Let us see the Python code that implements the above solution:
class Solution: def flipAndInvertImage(self, A: List[List[int]]) -> List[List[int]]:
# Reverse each row of the matrix
for i in range(len(A)):
A[i] = A[i][::-1]
# Invert each element of the matrix
for i in range(len(A)):
for j in range(len(A[0])):
A[i][j] = 1 - A[i][j]
# Return the resulting matrix
return A
Time complexity: O(n^2), where n is the size of the matrix.
Space complexity: O(1). We are modifying the given matrix in place without using any extra space.
Flipping An Image Solution Code
1