Advertisement
vaibhav1906

Flood fill

Aug 24th, 2022
925
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. class Solution {
  2. public:
  3.    
  4.     void dfs(vector<vector<int>>& image, int i, int j, int initialColor, int color, int &n, int &m){
  5.        
  6.         if(i<0 || i>=n || j<0 || j>=m)return;
  7.        
  8.         if(image[i][j]!=initialColor)return;
  9.  
  10.         image[i][j] = color;
  11.        
  12.         dfs(image, i-1,j,initialColor,color, n,m);
  13.         dfs(image, i+1,j,initialColor,color, n,m);
  14.         dfs(image, i,j-1,initialColor,color, n,m);
  15.         dfs(image, i,j+1,initialColor,color, n,m);
  16.        
  17.         return;
  18.        
  19.        
  20.     }
  21.    
  22.     vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int color) {
  23.        
  24.         int n= image.size();
  25.         int m = image[0].size();
  26.        
  27.         int initialColor = image[sr][sc];
  28.        
  29.         if(initialColor==color)return image;
  30.        
  31.         dfs(image, sr,sc,initialColor,color, n,m);
  32.        
  33.         return image;
  34.        
  35.     }
  36. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement