Solution: Flood Fill
Let's solve the Flood Fill problem using the Backtracking pattern.
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 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:
- If the pixel at - (sr, sc)already has the value- target, return the original grid without any changes.
- Otherwise, start at the pixel - grid[sr][sc]and change its color to the given color- target.
- Perform the same operation for all 4-directionally adjacent pixels (up, down, left, right) with the same original color as the starting pixel. 
- Continue this process by examining the neighboring pixels of each updated pixel and changing their color if they match the original color of the starting pixel. 
- The process continues until no more adjacent pixels with the original color left to update. 
Return the updated grid after the flood fill is complete.
Constraints:
- grid.length,- grid[i].length- ...