Leetcode--200. 岛屿数量

给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。

示例 1:

输入:
11110
11010
11000
00000

输出: 1
示例 2:

输入:
11000
11000
00100
00011

输出: 3

思路:将相邻的1看作是两个点之间存在边,0看作孤立点

用深度优先遍历或者广度优先遍历

dfs:

提交的代码:

class Solution {

   public void dfs(char grid[][],int i,int j)

    {

        if(i<0||j<0||i>=grid.length||j>=grid[0].length||grid[i][j]=='0')

        {

            return;

        }

        grid[i][j]='0';

        dfs(grid,i+1,j);

        dfs(grid,i-1,j);

        dfs(grid,i,j+1);

        dfs(grid,i,j-1);

    }

    public  int numIslands(char[][] grid) {

        if(grid.length==0)

        {

            return 0;

        }

        int sum=0;

        for(int i=0;i<grid.length;i++)

        {

            for(int j=0;j<grid[0].length;j++)

            {

                if(grid[i][j]=='1')

                {

                    sum++;

                    dfs(grid,i,j);

                }

            }

        }

        return sum;

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

看懂2020年智能浪潮,我们从百度和谷歌的AI足迹出发

来源&#xff1a; 脑极体2020年已经过去&#xff0c;无论我们过得顺遂平安&#xff0c;还是过得无比艰难&#xff0c;我们应该都会记住这一年。回顾2020年&#xff0c;在这个不同寻常的疫情之年&#xff0c;科技成为人类抗击疫情的关键&#xff0c;而人工智能技术投入抗疫战争之…

公交换乘系统c语言,公交换乘的简单实现(源码)

最初是做2004年某期《程序员》杂志上的一道题&#xff0c;叫“洞穴探险”&#xff0c;结果写着写着就做到公交换乘的思路上去了。看来做GIS做久了&#xff0c;都成习惯了。后来工作忙&#xff0c;就扔下了。最近翻看以前自娱自乐时写的东东&#xff0c;看到了这段代码&#xff…

记使用talend从oracle抽取数据时,数字变为0的问题

数据源为oracle&#xff0c;字段类型为number。 发现通过mainline连接到一个logrow控件&#xff0c;输入的该字段的值为0 经过多次测试还是没发现有什么规律。 通过查看代码发现有这一句内容。 if (row2.ID ! null) { //strBuffer_tLogRow_1.append(row2.ID.setScale(-127,java…

Leetcode--494. 目标和

给定一个非负整数数组&#xff0c;a1, a2, ..., an, 和一个目标数&#xff0c;S。现在你有两个符号 和 -。对于数组中的任意一个整数&#xff0c;你都可以从 或 -中选择一个符号添加在前面。 返回可以使最终数组和为目标数 S 的所有添加符号的方法数。 示例 1: 输入: nums…

C语言int r(int m),INT(M)表示什么意思?

根据官方文档描述&#xff0c;int(M)中的M表示数据显示的宽度&#xff0c;与实际存储的长度无关。1、也就是int(3)和int(11)能够存储的数据是一样的&#xff0c;都是从-2147483648到2147483647(或者0-4294967295)。2、int(M)只有联合zerofill参数才能有意义&#xff0c;否则int…

2021年值得关注的人工智能与机器学习的五大趋势

文章来源&#xff1a;科技心时代人工进行智能和机器可以学习是市场上的热门专业技术&#xff0c;其重要性在2020年达到顶峰&#xff0c;这两种信息技术发展已经到了广泛应用在各行业领域&#xff0c;其范围从电子商务到量子计算管理系统&#xff0c;从医疗诊断分析系统到消费电…

关于java子类继承以及final问题总结

(1)子类和父类如果在同一个包内&#xff0c;则子类可以继承父类的除private以外的所有成员变量和方法&#xff0c;并且权限不变&#xff1b; (2)子类和父类如果不在同一个包内&#xff0c;则子类可以继承父类的public和protected权限的成员变量和方法&#xff0c;不能继承友好型…

物理层基本概念

物理层解决如何在连接各种计算机的传输媒体上传输数据比特流 物理层定义了一些传输媒体接口的标准 定义了哪些标准&#xff1f; 1.机械特性 定义物理连接的特性&#xff0c;例如接口形状&#xff0c;引线数目&#xff0c;引脚数量等 2.电气特性 规定传输二进制位时&#…

qt android 应用程序图标大小,vs+qt 设置应用程序图标

LaTeX 学习记录4&#xff0d;字体设置LaTeX 学习记录4&#xff0d;字体设置 % 导言区\documentclass[10pt]{ctexart}%10pt为字体大小%使用ctexart后就可以不引用ctex宏包了\title{\heiti My LaTeX Document}%字体为黑体\author{\kaishu forever}%字体为楷书\date{\today}% 正文…

城市生态的机器人革命

来源&#xff1a; 脑极体城市居民能看到绿色、与自然亲近的机会&#xff0c;被高楼大厦挤压得越来越少&#xff0c;如果有一天&#xff0c;连机器人、无人车和无人机都要来侵占人类的休闲空间&#xff0c;会发生什么呢&#xff1f;至少目前看来&#xff0c;如果不采取措施&…

spring boot 三种入参

先来讲述下最简单的使用get请求用户信息的实现方式&#xff0c;代码如下,写好后直接在Application类点击右键有个RunAs&#xff0c;点击后会自动运行&#xff0c;运行成功后可以使用http发包工具进行测试&#xff0c;这里推荐使用chrome的postman或者使用firefox的httprequeste…

数据通信基础知识

常用的两种入网方式&#xff1a; 1. 电话线入网 电话线发出来的是数字信号&#xff0c;需要用调制解调器(&#x1f431;)转换位模拟信号 例如&#xff1a;我计算机发 在吗 &#xff0c;电话线发出来是01011100&#xff0c; 调制解调器把数字信号转为模拟信号发到广域网 之…

android okhttpclient设置编码,Android之okhttp实现socket通讯(非原创)

文章大纲一、okhttp基础介绍二、socket通讯代码实战三、项目源码下载四、参考文章一、okhttp基础介绍二、socket通讯代码实战1. 添加依赖和权限app的build.gradle下添加okhttp依赖implementation com.squareup.okhttp3:okhttp:3.8.1AndroidManifest.xml文件添加网络权限2. 添加…

张小龙两小时演讲全文:微信十年的产品思考

来源&#xff1a;微信公开课&#xff08;ID&#xff1a;wx-gongkaike&#xff09;文&#xff1a;张小龙大家好&#xff01;谢谢来到公开课现场的朋友们&#xff0c;让我感受到这是一个面对面的交流&#xff0c;而不是一个人面对屏幕的直播。2020&#xff0c;对很多人来说都是很…

Leetcode--113. 路径总和Ⅱ

给定一个二叉树和一个目标和&#xff0c;找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树&#xff0c;以及目标和 sum 22&#xff0c; 5 / \ 4 8 / / \ …

android url格式化,Android利用SpannableString实现格式化微博内容

前言在Android开发中&#xff0c;有许多信息展示需要通过TextView来展现&#xff0c;如果只是普通的信息展现&#xff0c;使用TextView setText(CharSequence str)设置即可&#xff0c;但是当在TextView里的这段内容需要截取某一部分字段&#xff0c;可以被点击以及响应响应的操…

[Unity]限制两个物体之间的距离

//限制两个物体之间的距离 if (Vector3.Distance(B.position, A.position) > maxDistance) {//获得两个物体之间的单位向量Vector3 pos (B.position - A.position).normalized;//单位向量乘以最远的距离系数pos * maxDistance;//物体A的坐标加上距离向量B.position pos A…

Leetcode--226. 翻转二叉树

翻转一棵二叉树。 示例&#xff1a; 输入&#xff1a; 4 / \ 2 7 / \ / \ 1 3 6 9 输出&#xff1a; 4 / \ 7 2 / \ / \ 9 6 3 1 提交的代码&#xff1a; /** * Definition for a binary tree node. * public class TreeNode { *…

2021年中国AIoT产业全景图谱

来源&#xff1a;物联网智库&#xff08;iot101&#xff09;编辑&#xff1a;蒲蒲日前&#xff0c;在“2020 AIoT产业年终盛典”上&#xff0c;物联网智库正式发布全新升级版的《2021中国AIoT产业全景图谱报告》&#xff08;以下简称“报告”&#xff09;。据悉&#xff0c;这是…

Leetcode--309. 最佳买卖股票时机含冷冻期

给定一个整数数组&#xff0c;其中第 i 个元素代表了第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下&#xff0c;你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票&#xff09;: 你不能同时参与多笔交易&#xff08;你必须在再次购买前…