就简单的深度遍历递归,加上方向数组,当然直接多个递归也可以,但是多调用函数会增加函数调用栈的开销,还是用方向数组稍微快些吧
代码class Solution {
public:
void Count(vector>& grid,int sr,int sc,vector>& visited,int &count){
visited[sr][sc]=1;
count++;
int dir[4][2] = {{0, 1}, {1, -1}, {-1, -1}, {-1, 1}};
for(int i=0;i<4;i++){
sr+=dir[i][0];
sc+=dir[i][1];
if(sr>=0&&sr=0&&sc>& grid) {
//这个就是要计算一下了
int max=0;
vector> visited(grid.size(),vector(grid[0].size()));
for(int i=0;imax)max=count;
}
}
return max;
}
};



