【DFS】200.岛屿数量

题目

法1:岛屿数量

java 复制代码
class Solution {
    public int numIslands(char[][] grid) {
        int m = grid.length, n = grid[0].length;
        int[][] used = new int[m][n];
        int res = 0;
        for (int i = 0; i < m; ++i) {
            for (int j = 0; j < n; ++j) {
                if (grid[i][j] == '0' || used[i][j] == 1) {
                    continue;
                }
                ++res;
                dfs(i, j, grid, used, m, n);
            }
        }

        return res;
    }

    public void dfs(int i, int j, char[][] grid, int[][] used, int m, int n) {
        if (i < 0 || i >= m 
                || j < 0 || j >= n 
                || grid[i][j] == '0' || used[i][j] == 1) {
            return;
        }
        used[i][j] = 1;

        dfs(i - 1, j, grid, used, m, n); 
        dfs(i + 1, j, grid, used, m, n);
        dfs(i, j - 1, grid, used, m, n); 
        dfs(i, j + 1, grid, used, m, n);
    }
}
相关推荐
c#上位机43 分钟前
halcon图像增强——图像取反
图像处理·算法·c#·halcon
zheyutao1 小时前
割点和桥
算法·图论
@小码农1 小时前
2025年北京海淀区中小学生信息学竞赛第二赛段C++真题
开发语言·数据结构·c++·算法
蓝域小兵1 小时前
齐次方程组和非齐次方程组有什么区别
人工智能·算法·机器学习
0 0 02 小时前
CCF-CSP第39次认证第三题——HTTP 头信息(HPACK)【C++】
开发语言·c++·算法
Data_agent2 小时前
1688按图搜索1688商品(拍立淘)API ,Python请求示例
爬虫·python·算法·图搜索算法
汉克老师2 小时前
2023年海淀区中小学信息学竞赛复赛(小学组试题第二题 回文时间 (time))
c++·算法·北京海淀中小学信息竞赛·模拟法
代码雕刻家2 小时前
1.9.课设实验-数据结构-图-校园跑最短路径
c语言·数据结构·算法·图论
white-persist2 小时前
【攻防世界】reverse | re1-100 详细题解 WP
c语言·开发语言·网络·汇编·python·算法·网络安全
.YM.Z2 小时前
【数据结构】:排序(二)——归并与计数排序详解
数据结构·算法·排序