Grokking the Coding Interview: Patterns for Coding Questions
Ask Author
Back to course home

0% completed

Flood Fill (easy)

Problem Statement

Any image can be represented by a 2D integer array (i.e., a matrix) where each cell represents the pixel value of the image.

Flood fill algorithm takes a starting cell (i.e., a pixel) and a color. The given color is applied to all horizontally and vertically connected cells with the same color as that of the starting cell. Recursively, the algorithm fills cells with the new color until it encounters a cell with a different color than the starting cell.

Given a matrix, a starting cell, and a color, flood fill the matrix.

Example 1:

Input: matrix =

Image

starting cell = (1, 3)
new color = 2

Output:

Image

Example 2:

Input: matrix =

Image

starting cell = (3, 2)

new color = 5

Output:

Image

Constraints:

  • m == matrix.length
  • n == - m == matrix[i].length
  • 1 <= m, n <= 50
  • 0 <= - m == matrix[i][j], color < 2<sup>16</sup>
  • 0 <= x < m
  • 0 <= y < n

Try it yourself

Try solving this question here:

Python3
Python3

. . . .
Mark as Completed