Solution: Flood Fill
Explore how to apply backtracking with depth-first search to implement the flood fill algorithm on a 2D grid. This lesson helps you understand how to recursively update connected pixels that share the same original color as the starting pixel. You will learn boundary checks, recursion termination, and how to efficiently fill regions without unnecessary changes.
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. ...