Untitled
unknown
plain_text
a year ago
850 B
4
Indexable
class Solution { public: int r,c; bool inr(int x,int y){ return (x>=0 && x<r && y>=0 && y<c); } vector<pair<int,int>>dir={{1,0},{-1,0},{0,1},{0,-1}}; int dfs(int x,int y,vector<vector<int>>& grid){ if(!inr(x,y) || grid[x][y]==0) return 0; int sum=grid[x][y]; grid[x][y]=0; for(auto d:dir){ int new_x=x+d.first; int new_y=y+d.second; //if(inr(new_x,new_y) && grid[new_x][new_y]!=0){ sum+=dfs(new_x,new_y,grid); //} } return sum; } int findMaxFish(vector<vector<int>>& grid) { r=grid.size(), c=grid[0].size(); int res=0; for(int i=0;i<r;i++){ for(int j=0;j<c;j++){ res=max(res,dfs(i,j,grid)); } } return res; } };
Editor is loading...
Leave a Comment