当前位置: 首页 > article >正文

Leetcode—200. 岛屿数量【中等】

2024每日刷题(176)

Leetcode—200. 岛屿数量

在这里插入图片描述

C++实现代码

class Solution {
public:
    int numIslands(vector<vector<char>>& grid) {
        int m = grid.size();
        int n = grid[0].size();

        int ans = 0;

        function<void(int, int)> dfs = [&](int i, int j) {
            if(i < 0 || i == m || j < 0 || j == n) {
                return;
            }
            if(grid[i][j] != '1') {
                return;
            }
            // mark visited
            grid[i][j] = '2';

            dfs(i, j + 1);
            dfs(i, j - 1);
            dfs(i + 1, j);
            dfs(i - 1, j);
        };

        for(int i = 0; i < m; i++) {
            for(int j = 0; j < n; j++) {
                if(grid[i][j] == '1') {
                    dfs(i, j);
                    ans++;
                }
            }
        }
        return ans;
    }
};

运行结果

在这里插入图片描述

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!


http://www.kler.cn/news/340586.html

相关文章:

  • QT系统学习篇(5)-信号与槽
  • Python Kivy 样式与设计教程
  • pytest的基础入门
  • 1-Lipschitz函数
  • IDEA下“File is read-only”可能原因及“找不到或无法加载主类”问题的解决
  • ROS2入门篇——ROS2第一个节点
  • Chromium 如何定义一个chrome.settingsPrivate接口给前端调用c++
  • BUU刷题-Pwn-shanghai2018_baby_arm(ARM_ROP_csu_init,ARM架构入门)
  • React常见优化问题
  • 如何编写测试用例
  • python 实现algorithm topo卡恩拓扑算法
  • C/C++复习(一)
  • 深入了解 TypeScript 现代 JavaScript 的超集
  • sqli-labs less-14post报错注入updatexml
  • gbase8s数据库实现黑白名单的几种方案
  • 网络受限情况下安装openpyxl模块提示缺少Jdcal,et_xmlfile
  • 2-110 基于matlab的双字典交叉稀疏表示的SAR图像变化检测
  • 运行CtsVerifier.apk报错
  • mybatis自定义类型处理器
  • 【2024】前端学习笔记13-JavaScript修改网页样式