Grokking the Coding Interview: Patterns for Coding Questions

0% completed

Problem Challenge 1: Flip and Invert an Image (hard)

Problem Statement

Given a square binary matrix representing an image, we want to flip the image horizontally, then invert it.

To flip an image horizontally means that each row of the image is reversed. For example, flipping [0, 1, 1] horizontally results in [1, 1, 0].

To invert an image means that each 0 is replaced by 1, and each 1 is replaced by 0. For example, inverting [1, 1, 0] results in [0, 0, 1].

Example 1:

Input: [
  [1,0,1],
  [1,1,1],
  [0,1,1]
]
Output: [
  [0,1,0],
  [0,0,0],
  [0,0,1]
]

Explanation: First reverse each row: [[1,0,1],[1,1,1],[1,1,0]]

.....

.....

.....

Like the course? Get enrolled and start learning!
J

J

· 4 years ago

Time complexity should be O(N^2) is input matrix is guaranteed to be a square or O(M * N) if not.

L

lejafilip

· 2 years ago

Tbh it is not hard question but it is just my opinion.

P

Pete Stenger

· 4 years ago

The solution given assumes the matrix is square. Update C to be len(matrix[0]) or add the constraint.

Naveen Gupta

Naveen Gupta

· a year ago

class Solution: def flipAndInvertImage(self, matrix): for row in range(len(matrix)): matrix[row] = [abs(i-1) for i in matrix[row][::-1]] return matrix