200.岛屿数量(bfs写法)

2023-12-17

宽搜的正常思路,只不过每次加上计算岛屿数量cnt即可

class Solution {
    public int numIslands(char[][] grid) {
        int n = grid.length;
        int m = grid[0].length;
        int dx[] = new int[]{1, -1, 0, 0};
        int dy[] = new int[]{0, 0, 1, -1};
        boolean g[][] = new boolean[n][m];
        Queue<int[]> q = new ArrayDeque<>();
        int cnt = 0;
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                if (g[i][j] == false && grid[i][j] == '1') {
                    q.add(new int[]{i, j});
                    g[i][j] = true;
                    while (!q.isEmpty()) {
                        boolean flag = false;
                        int t[] = q.poll();//弹出队头
                        for (int k = 0; k < 4; k++) {
                            int x = dx[k] + t[0];
                            int y = dy[k] + t[1];
                            if (x >= 0 && x < n && y >= 0 && y < m && grid[x][y] == '1') {
                                if (g[x][y] == false) {
                                    q.add(new int[]{x, y});
                                    g[x][y] = true;
                                } else {
                                    flag = true;
                                }
                            }
                        }
                        if (flag == false) cnt++;
                    }
                }
            }
        }

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

200.岛屿数量(bfs写法) 的相关文章

随机推荐

  • Web自动化测试适用于哪些场景?看完这篇文章你就知道了!

    前言 在软件开发的过程中 测试是不可或缺的环节 而随着web应用的普及 web自动化测试也成为了非常重要的一部分 本文将介绍web自动化测试的概念和常见应用场景 并给出一个示例代码 一 什么是web自动化测试 Web自动化测试是指通过编写程
  • 开源AI云测试平台,Hydra Lab

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 8k次 点赞82次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 【算法】【动规】最长递增子序列

    跳转汇总链接 动态规划算法汇总链接 2 1 最长递增子序列 题目链接 给你一个整数数组 nums 找到其中最长严格递增子序列的长度 子序列是由数组派生而来的序列 删除 或不删除 数组中的元素而 不改变其余元素的顺序 例如 3 6 2 7 是
  • debug点f8step over会进入class文件

    File gt settings gt Bulid Executiong Deployment gt Debugger gt Stepping 取消如图对钩即可
  • SoapUI、Jmeter、Postman三种接口测试工具的比较分析!

    前段时间忙于接口测试 也看了几款接口测试工具 简单从几个角度做了个比较 拿出来与诸位分享一下 本文 从多个方面对接口测试的三款常用工具进行比较分析 以便于在特定的情况下选择最合适的工具 或者使用自己编写的工具 不同工具定位不同 我们只是主要
  • 关于在redis中查找键值对报java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to...的问题

    valueOperations get SystemInfo 返回linkedHashMap类型 在Java中 LinkedHashMap 是一个类 它继承自 HashMap 并保持插入顺序 它的设计使得我们可以更容易地按照插入顺序迭代元素
  • 【数据结构】双链表的定义和操作

    目录 1 双链表的定义 2 双链表的创建和初始化 3 双链表的插入节点操作 4 双链表的删除节点操作 5 双链表的查找节点操作 6 双链表的更新节点操作 7 完整代码 嗨 我是 Filotimo 很高兴与大家相识 希望我的博客能对你有所帮助
  • 谷歌浏览器导出非http无法直接打开

    解决方法 1 打开谷歌浏览器右上角三个点 点击设置前往隐私和安全菜单 2 打开隐私和安全点击网站设置 网站设置拉至页面最下方 展开更多设置点击不安全内容页面 不安全内容页面最下方添加网站网址即可
  • 【数据结构】单链表的定义和操作

    目录 1 单链表的定义 2 单链表的创建和初始化 3 单链表的插入节点操作 4 单链表的删除节点操作 5 单链表的查找节点操作 6 单链表的更新节点操作 7 完整代码 嗨 我是 Filotimo 很高兴与大家相识 希望我的博客能对你有所帮助
  • 基于ssm足球联赛管理系统

    摘 要 随着计算机技术发展 计算机系统的应用已延伸到社会的各个领域 大量基于网络的广泛应用给生活带来了十分的便利 所以把足球联赛管理与现在网络相结合 利用计算机搭建足球联赛管理系统 实现足球联赛管理系统的信息化 则对于进一步提高足球联赛管理
  • WOA-BILSTM-Attention基于鲸鱼算法优化双向长短期记忆网络结合注意力机制回归预测,多变量输入模型

    文章目录 效果一览 文章概述 订阅专栏只能获取专栏内一份代码 部分源码 参考资料
  • arm Linux中dma的cache管理

    概述 前两周有人询问DMA下的cache操作和dma coherent 以前零碎看过代码 临时找 还没有找到 这两天整理了调用流程 也找到了dma coherent的用法 Linux的文档里没有详细说明dma coherent的用法 根据代
  • 设计模式—迭代器模式解析

    本文参考学习了 图解设计模式 中的代码实现和原理解释 迭代器模式 简介 Iterator 模式用于在数据集合中按照顺序遍历集合 就类似于我们的循环 一个个去遍历一个集合中的所有元素 示例代码 首先我们思考一个书本和书架的关系 显然 书架可以
  • linux面试题分享

    1 简述RAID0 1 5 10的区别 什么是LVM RAID与LVM的使用场景 RAID0需要两块以上硬盘 不提供冗余或错误修复能力 速度快 磁盘利用率100 RAID1需要两块以上硬盘 提供数据块冗余 磁盘利用率50 RAID5需要三块
  • 应对压力:14个方法助你有效缓解

    在快节奏的现代生活中 我们常常会感受到各种各样的压力 这些压力可能来自于工作 学习 人际关系 甚至是生活中的一些琐事 过度的压力会对我们的身心健康造成严重的影响 因此学会有效地缓解压力变得尤为重要 本文将介绍14个简单易行的方法 帮助你应对
  • 嵌入式开发、C++后端开发、C++音视频开发怎么选择?

    嵌入式开发 C 后端开发和C 音视频开发的选择问题 近年来 随着互联网和物联网的快速发展 嵌入式开发 C 后端开发和C 音视频开发等职业领域也逐渐受到广泛关注 对于有志于从事这些领域的人来说 如何做出选择呢 下面将从前景 薪酬和职业稳定性等
  • The content of element type “mapper“ must match “(cache-ref|cache|resultMap*|parameterMap*|sql*|inse

    这段话的意思是告诉你标签没有写全 比如
  • 软件测试市场复苏了!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 9k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • lv12 uboot移植深化 9

    u boot 2013 0 1移植 实验目的 了解 u boot 的代码结构及移植 的基本 方法 实验环境 u buntu 14 04
  • 200.岛屿数量(bfs写法)

    宽搜的正常思路 只不过每次加上计算岛屿数量cnt即可 class Solution public int numIslands char grid int n grid length int m grid 0 length int dx n