【LeetCode刷题】-岛屿数量

2023-11-08

Task:

在这里插入图片描述

思路:

1.首先判断给定的二维数组是不是空的;
2.对二维数组遍历一下,对每个元素进行判断,
a)如果这个值等于1, 那么就把计数器+1, 并且对该元素四周进行深度搜索,
3.返回

代码:

class Solution {
public:
    int numIslands(vector<vector<char>>& grid) {
        if(grid.empty()) return 0; //测试用例中是否有空测试样例
        int count = 0;
        for(int i=0; i < grid.size(); i++){
            for(int j=0; j < grid[0].size(); j++){
                if(grid[i][j] == '1'){
                    count++;
                    dfs(grid, i, j);
                }
            }
        }
        return count;
    }
    void dfs(vector<vector<char>> &grid, int i, int j){
        if(i >= grid.size() || i < 0 || j>= grid[0].size() || grid[i][j] != '1') 
            return;
        grid[i][j] = '0';
        dfs(grid, i+1, j);
        dfs(grid, i, j+1);
        dfs(grid, i-1, j);
        dfs(grid, i, j-1);       
    }
};

提交结果:

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【LeetCode刷题】-岛屿数量 的相关文章

  • 功能强大的国产Api管理工具

    前言 如果你是一名Java后端开发工程师 像Swagger Postman RAP这些工具 应该再熟悉不过了吧 为我们的接口开发工作带来了很多的便捷 不过因为这些都是独立的框架 之间并不存在互通性 因此在多个框架间协调的时候 不可避免的会带
  • Anaconda下Jupyter Notebook执行OpenCV中cv2.imshow()报错(错误码为1272)网上解法汇总记录和最终处理方式

    零 我设备的相关信息 Python 3 8 8 Anaconda3 2021 05 查询匹配python3 8 的OpenCV匹配版本为 4 1 4 2 我最后安装4 2 0 32版本 如下我记录了 从发现问题 到不断试错 最后解决问题 的
  • 电视制式 NTSC PAL SECAM

    电视制式 电视的制式是指电视信号的标准 目前各国的电视制式不尽相同 如附件1 2 制式的区分主要在于其帧频 场频 的不同 分解率的不同 信号带宽以及载频的不同 色彩空间的转换关系不同等 电视制式现在有模拟和数字信号和数字信号两种 模拟制式一
  • 【Linux】进程篇(补):守护进程

    文章目录 1 补充 1 1 查看 1 2 控制进程组的方式 2 创建守护进程 step1 忽略信号 step2 让自己不是组长 step3 setsid 函数 给调用函数设置新的会话和进程组 ID step4 chdir 函数 可以改变守护

随机推荐

  • Android Service最全面的解析

    本篇文章再次来自 刘明渊 话说刘明渊已经是我公众号的老熟人了 这是第三次发表他投稿的文章 前两篇关于Intent的译文都广受大家好评 而本篇对于Service的译文同样精彩 其实像这种官方文档翻译类文章的投稿我都是非常欢迎的 因为官方文档的
  • 基于内容的图像检索技术(1):从特征到检索

    作者 赵丽丽 链接 https zhuanlan zhihu com p 46735159 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 基于内容的图像检索 CBIR Content Based Image
  • 解决pandas中boxplot函数默认添加大标题“Boxplot grouped by ”

    问题 如何删除下图的 Boxplot grouped by path num 生成上图的代码 fig ax plt subplots figsize 8 6 df df path num 2 boxplot column travel ti
  • 【软件工程

    概念 耦合 coupling 是对两个模块之间联接程度的一种度量 模块间的依赖程度越大 则其耦合程度也就越大 反之 模块间的依赖程度越小 则其耦合程度也就越小 很显然 为了使软件具有较好的可维护性和可修改性 模块间的关联程度即耦合程度应越小
  • 网络安全鹰眼靶场(基础关)

    目录 前言 key在哪里 再加密一次你就得到key啦 猜猜这是经过了多少次加密 据说MD5加密很安全 真的是么 种族歧视 HAHA浏览器 key究竟在哪里呢 key又找不到了 冒充登陆用户 比较数字大小 本地的诱惑 就不让你访问 前言 靶场
  • CodeSmith 使用教程(3): 自动生成Yii Framework ActiveRecord

    上例介绍了使用CodeSmith编写代码模板的基本方法 本例实现一个较为实用的代码模板 通过数据库自动为Yii Framework生成所需要的ActiveRecord 类 本例通过修改Yii Framework 开发教程 26 数据库 Ac
  • numpy明明有高版本却显示版本不够

    不知道和我上篇文章添加Jupyter notebook代码提示是否有关系 大概率 在进行导入numpy库的时候出现了以下问题 真的特别离奇 我之前都用得好好的 怎么突然不行了 接下来就对库版本进行折腾 以下操作均在管理员运行的Anacond
  • 全球计算机出货量排名,2018年全球电脑出货量排名:联想夺冠,惠普戴尔分列二三...

    作者 虎龙吟 美国当地时间2019年1月10日 Gartner发布了2018年全球个人电脑出货量数据报告 根据Gartner发布的数据 2018年第四季度 全球个人电脑出货量达到6860万台 比2017年第四季度下降了4 3 根据Gartn
  • chatglm2-6b在P40上做LORA微调

    背景 目前 大模型的技术应用已经遍地开花 最快的应用方式无非是利用自有垂直领域的数据进行模型微调 chatglm2 6b在国内开源的大模型上 效果比较突出 本文章分享的内容是用chatglm2 6b模型在集团EA的P40机器上进行垂直领域的
  • 萌妖出没服务器维护电视版,萌妖出没-萌妖出没手游官网版预约-9k9k手游网

    萌妖出没是一款根据经典动漫改编而成的策略竞技手游 游戏中还原了众多经典的场景 玩家在玩游戏的过程中还有回味众多经典的动漫情节 众多宠物精灵等你来收集 打造强大的精灵战队 带领它们不断的战斗冒险 体验其中的无穷乐趣 感兴趣的玩家随时可以来下载
  • 牛客网——字符串排序(C++)

    题目描述 编写一个程序 将输入字符串中的字符按如下规则排序 规则 1 英文字母从 A 到 Z 排列 不区分大小写 如 输入 Type 输出 epTy 规则 2 同一个英文字母的大小写同时存在时 按照输入顺序排列 如 输入 BabA 输出 a
  • R语言 第四章 初级绘图(3)核密度图,小提琴图,QQ图,星状图,等高图,固定颜色选择函数,渐变色生成函数,主体调色板,rainbow(),RcolorBrewer包

    关注公众号凡花花的小窝 收获更多的考研计算机专业编程相关的资料 绘制其他图形 核密度图 sm包中sm density compare函数用于绘制核密度图 核密度图是用一条密度曲线而不是通过柱状来展示连续型变量的分布 相比直方图 密度图的一个
  • getUserProfile:fail 调用失败?getUserProfile:fail can o

    一般Fail原因有很多 如果fail函数的参数返回结果有具体的提示错误 比如长度关键字等问题 那么根据提示直接更改就行 还有一种情况就是我们使用测试号 Uni开发时 我们调用getUserProfile函数返回错误 我们首先要考虑AppId
  • 分享三个不同目录双向更新的实用方法

    分享三个不同目录双向更新的实用方法 方法一 rsync 判断脚本 进行双向更新 方法二 使用rsync的 u选项 方法三 使用rsync inotify监控工具 扩展 方法一 rsync 判断脚本 进行双向更新 脚本内容如下 bin bas
  • 一起来!白嫖Amazon DynamoDB!!!

    Amazon DynamoDB简介 Amazon DynamoDB是由Amazon Web Services AWS 提供的一种快速 灵活 全托管的NoSQL数据库服务 支持文档和键 值数据模型 它具有自动扩展 低延迟 高可靠性 高吞吐量等
  • 4.2 配置Mysql与注册登录模块(中)

    目录 学习目标 学习内容 后端 JWT工具类 数据库修改 写具体业务API 根据token获取用户信息 注册API 前端 这节课实现了登录效果 学习目标 jwt验证 后端的API 前端登录注册页面 学习内容 前端和后端会有跨域问题 不用传统
  • Linux 中的 colcrt 命令及示例

    Linux 系统中的colcrt命令用于格式化文本处理器输出 以便可以在阴极射线管显示器上查看 它删除了下划线 删除线和下划线 这些内容无法在 CRT 上显示 因为在 CRT 屏幕上的给定位置只能生成一个字符 它还将所有下划线放在新行上 位
  • 华为服务器怎么升级2016系统,服务器怎么升级

    服务器怎么升级 内容精选 换一换 华为云帮助中心 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 帮助您快速上手使用华为云服务 当您购买的弹性云服务器规格无法满足业务需要时 您可以随时变
  • Ruby

    1 如何安装ralis 在线安装常常因为公司proxy server的原因产生连接问题 所以可以先到https rubygems org下载然后离线安装 gem install l rails2 3 5 gem
  • 【LeetCode刷题】-岛屿数量

    Task 思路 1 首先判断给定的二维数组是不是空的 2 对二维数组遍历一下 对每个元素进行判断 a 如果这个值等于1 那么就把计数器 1 并且对该元素四周进行深度搜索 3 返回 代码 class Solution public int n