day59(1.18)——leetcode面试经典150

200. 岛屿数量

200. 岛屿数量

题目:

题解:

java 复制代码
class Solution {
    int l,r;
    boolean[][] flag;
    int sum = 0; 
    public int numIslands(char[][] grid) {
        l = grid.length;
        r = grid[0].length;
        flag = new boolean[l][r];
        for(int i=0;i<l;i++) {
            for(int j=0;j<r;j++) {
                if(grid[i][j] == '1' && !flag[i][j]) {
                    dfs(grid,i,j);
                    sum++;
                }
            }
        }
        return sum;
    }
    
    public void dfs(char[][] grid, int x, int y) {
        if(x<0 || y<0 || x >= l || y >= r || grid[x][y] == '0' || flag[x][y] == true) {
            return;
        }
        flag[x][y] = true;
        dfs(grid,x+1,y);
        dfs(grid,x,y+1);
        dfs(grid,x-1,y);
        dfs(grid,x,y-1);
    }
}
相关推荐
田梓燊4 分钟前
leetcode 48
算法·leetcode·职场和发展
mmz12079 分钟前
深度优先搜索DFS2(c++)
c++·算法·深度优先
6Hzlia9 分钟前
【Hot 100 刷题计划】 LeetCode 169. 多数元素 | C++ 哈希表基础解法
c++·leetcode·散列表
米粒111 分钟前
力扣算法刷题 Day 38 (打家劫舍专题)
算法·leetcode·职场和发展
Robot_Nav16 分钟前
RC-ESDF与Lazy Theta* 算法结合进行离线全局路径的生成
算法·全局规划·esdf
papership17 分钟前
【入门级-算法-7、搜索算法:深度优先搜索】
算法·深度优先
山甫aa31 分钟前
哈希集合-----从零开始的数据结构学习
数据结构·算法·哈希算法
say_fall33 分钟前
有关算法的简单数学问题
数据结构·c++·算法·职场和发展·蓝桥杯
Halo_tjn34 分钟前
Java 接口的定义重构学生管理系统
java·开发语言·算法
jimy135 分钟前
故事化叙事的软件/计算机历史节目---非常浪漫与传奇
职场和发展·生活