Search⌘ K
AI Features

Solution: Flood Fill

Explore how to implement the flood fill algorithm using backtracking and depth-first search in C++. Learn to modify a 2D grid by recursively filling connected pixels matching the original color, while managing grid boundaries and avoiding unnecessary changes. This lesson helps you understand recursion termination and efficient traversal techniques to solve similar combinatorial problems.

Statement

You are given a 2D grid of size m x n, where grid[i][j] represents the pixel value at position (i, j).

Additionally, you are given three integers:

  • sr: The row index of the starting pixel

  • sc: The column index of the starting pixel

  • target: The new color to apply

Your task is to perform a flood fill starting from the pixel at position (sr, sc). Below is the flood fill process:

  1. If the pixel at (sr, sc) already has the value target, return the original grid without any changes.

  2. Otherwise, start at the pixel grid[sr][sc] and change its color to the given color target. ...