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.
We'll cover the following...
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 pixelsc: The column index of the starting pixeltarget: 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:
If the pixel at
(sr, sc)already has the valuetarget, return the original grid without any changes.Otherwise, start at the pixel
grid[sr][sc]and change its color to the given colortarget. ...