【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);
    }
}
相关推荐
2401_86495928几秒前
分布式日志系统实现
开发语言·c++·算法
linhaijiao1 分钟前
C++与人工智能框架
开发语言·c++·算法
Ivanqhz5 分钟前
linearize:控制流图(CFG)转换为线性指令序列
开发语言·c++·后端·算法·rust
2401_873204657 分钟前
基于C++的区块链实现
开发语言·c++·算法
Frostnova丶7 分钟前
LeetCode 3546. 等和矩阵分割
算法·leetcode·矩阵
2301_7665586521 分钟前
4. 矩阵跃动小陌GEO动态监测算法原理解析,30分钟适配大模型更新的技术逻辑
人工智能·算法·矩阵
2301_7765087221 分钟前
模板代码优化策略
开发语言·c++·算法
沉睡的无敌雄狮22 分钟前
大模型更新频繁,搜索占位不稳定?矩阵跃动小陌GEO动态算法快速适配解决方案
人工智能·算法·矩阵
暮冬-  Gentle°24 分钟前
C++中的空对象模式变体
开发语言·c++·算法
m0_5793936625 分钟前
C++中的命令模式
开发语言·c++·算法