Skip to content

Practice Image Overlap

Read the task, work through the examples, and check your approach against the constraints. Use the original LeetCode task for coding and submissions.

Medium#835
LeetCode Problem

Image Overlap

Problem Statement

You are given two images, img1 and img2, represented as binary, square matrices of size n x n. A binary matrix has only 0s and 1s as values. We translate one image however we choose by sliding all the 1 bits left, right, up, and/or down any number of units. We then place it on top of the other image. We can then calculate the overlap by counting the number of positions that have a 1 in both images. Note also that a translation does not include any kind of rotation. Any 1 bits that are translated outside of the matrix borders are erased. Return the largest possible overlap.

Source: Image Overlap on LeetCode. Use the original task for its coding environment and submissions.

Examples

# Example 1

Input
img1 = [[1,1,0],[0,1,0],[0,1,0]], img2 = [[0,0,0],[0,1,1],[0,0,1]]
Output
3

# Example 2

Input
img1 = [[1]], img2 = [[1]]
Output
1

# Example 3

Input
img1 = [[0]], img2 = [[0]]
Output
0

Constraints

n == img1.length == img1[i].length
n == img2.length == img2[i].length
1 <= n <= 30
img1[i][j] is either 0 or 1.
img2[i][j] is either 0 or 1.

Related LeetCode Problems

Practice more problems similar to Image Overlap.

Review your practice with PhantomCodeAI

After trying the problem yourself, use the app to discuss your approach, complexity, and edge cases.