【leetcode】200. 岛屿数量

目录

题目

深度优先搜索

遍历二维数组,遇到"陆地"就用dfs标记或者"沉岛",并记录下岛屿个数即可。

js 复制代码
/**
 * @param {character[][]} grid
 * @return {number}
 */
var numIslands = function(grid) {
    const m = grid.length, n = grid[0].length;

    function dfs(x, y) {
        // 如果越界或不是陆地就结束
        if (x < 0 || x >= m || y < 0 || y >= n || grid[x][y] !== '1') {
            return;
        }
        grid[x][y] = '0';
        dfs(x, y - 1); // 左
        dfs(x, y + 1); // 右
        dfs(x - 1, y); // 上
        dfs(x + 1, y); // 下
    }

    let res = 0;
    for (let i = 0; i < m; i++) {
        for (let j = 0; j < n; j++) {
            if (grid[i][j] === '1') {
                dfs(i, j);
                res++;
            }
        }
    }
    return res;
};
相关推荐
生态学者8 小时前
Global Change Biology | 森林越“步调一致”,反而越怕干旱?树木生长与叶片活动的同步之谜
大数据·人工智能·算法·r语言·微信公众平台
lsswear8 小时前
Agent 框架新手入门与实战部署指南
大数据·人工智能·算法
考研保研资料分享9 小时前
2022编辑出版跨保西北大学中国史:五校面试与九月补材料
面试·职场和发展
Data analyse45610 小时前
rnweb 回放数据量太大怎么办?分片存储与断点续传的实现思路
前端·网络·算法·数据分析
员工风险管理实务10 小时前
职务侵占有什么价值?岗位关联性与必要性判断
职场和发展
Navigator_Z11 小时前
LeetCode //C - 1293. Shortest Path in a Grid with Obstacles Elimination
c语言·算法·leetcode
Nil20812 小时前
leetcode 64最小路径和
算法·leetcode·职场和发展
光影少年12 小时前
AI Agent、自动化与未来工作
人工智能·算法·架构
牧羊人.33312 小时前
计算机视觉基础 第16章|EigenFace,FisherFace,LBPH传统人脸识别算法
人工智能·算法·计算机视觉
考研保研资料分享12 小时前
双非新闻学保研复盘:东华小组展示、长安面试与兰大预推免
面试·职场和发展