leetcode吧 关注:1,123贴子:2,456
  • 3回复贴,共1

求助一下大神,leetcode200题卡在了[["1"],[

只看楼主收藏回复

求助一下大神,leetcode200题
卡在了[["1"],["1"]]这个数据上
麻烦帮我看下代码哪里有问题
class Solution {
public:
int dx[4] = {0,0,1,-1},dy[4] = {1,-1,0,0};
void dfs(vector<vector<char>>& grid,int i,int j){
int n = grid.size(),m = grid.size();
grid[i][j] = '0';
for(int k = 0;k < 4; k++){
int xx = i + dx[k], yy = j + dy[k];
if(xx >= 0 && xx < n && yy >= 0 && yy < m && grid[xx][yy] == '1'){
dfs(grid,xx,yy);
}
}
}
int numIslands(vector<vector<char>>& grid) {
if(grid.size() == 0 || grid[0].size() == 0) return 0;
int n = grid.size(),m = grid.size();
int ans = 0;//岛屿数量
for(int i = 0;i < n; i++){
for(int j = 0;j < m; j++){
//如果是水就放过,如果是岛屿就dfs一下,重复过程
if(grid[i][j] == '1'){
dfs(grid,i,j);
//dfs完了代表这是一个岛屿
ans++;
}
}
}
return ans;
}
};


IP属地:美国来自iPhone客户端1楼2020-03-04 23:00回复
    public class Solution {
    public int NumIslands(char[][] grid)
    {
    int row = grid.Length;
    if (row == 0) return 0;
    int islands = 0;
    int col = grid[0].Length;
    for (int r = 0; r< row; r++)
    {
    for (int c = 0; c < col; c++)
    {
    if (grid[r][c] == '1')
    {
    islands++;
    grid[r][c]='2';
    Bfs(r,c,grid);
    }
    }
    }
    return islands;
    }
    public void Bfs(int r,int c,char[][] grid)
    {
    int row = grid.Length;
    int col = grid[0].Length;
    //up
    if (r - 1 >= 0)
    {
    if (grid[r-1][c]=='1')
    {
    grid[r-1][c]='2';
    Bfs(r-1,c,grid);
    }
    }
    //down
    if (r + 1 < row)
    {
    if (grid[r+1][c]=='1')
    {
    grid[r+1][c]='2';
    Bfs(r+1,c,grid);
    }
    }
    //right
    if (c + 1 < col)
    {
    if (grid[r][c+1]=='1')
    {
    grid[r][c+1]='2';
    Bfs(r, c+1, grid);
    }
    }
    //left
    if (c - 1 >=0)
    {
    if (grid[r][c-1]=='1')
    {
    grid[r][c-1]='2';
    Bfs(r, c-1, grid);
    }
    }
    }
    }


    IP属地:上海2楼2020-03-05 23:02
    回复
      2025-08-24 15:23:14
      广告
      不感兴趣
      开通SVIP免广告
      楼主,随便看了一下
      int n = grid.size(),m = grid.size();
      这里明显有问题


      3楼2020-03-06 13:58
      收起回复