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

济宁做网站的电话东莞市公租房申请网站-建设网

济宁做网站的电话,东莞市公租房申请网站-建设网,东莞市建设企业网站企业,东莞网站优化科技有限公司和之前的卡码网深搜版是一道题 力扣第200题 99. 岛屿数量 题目描述 给定一个由 1#xff08;陆地#xff09;和 0#xff08;水#xff09;组成的矩阵#xff0c;你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成#xff0c;并且四周都是水域。…和之前的卡码网深搜版是一道题  力扣第200题  99. 岛屿数量 题目描述 给定一个由 1陆地和 0水组成的矩阵你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成并且四周都是水域。你可以假设矩阵外均被水包围。 输入描述 第一行包含两个整数 N, M表示矩阵的行数和列数。 后续 N 行每行包含 M 个数字数字为 1 或者 0。 输出描述 输出一个整数表示岛屿的数量。如果不存在岛屿则输出 0。 输入示例 4 5 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 输出示例 3 提示信息 根据测试案例中所展示岛屿数量共有 3 个所以输出 3。 数据范围 1 N, M 50 思路广度优先搜索如果一个位置为 1则将其加入队列开始进行广度优先搜索。在广度优先搜索的过程中每个搜索到的 1 都会被重新标记为 0。直到队列为空搜索结束。最终岛屿的数量就是我们进行广度优先搜索的次数 BFs比Dfs简单点的就是不需要Dfs深搜函数 直接在一个大循环中新建队列就可以利用队列进行搜索值为1的位置并且更改其值为0  注意1.Queueint[] 存储的是 一维数组int[]每个 int[] 存储的是一个位置的坐标例如二维数组中的行和列 假设二维数组 grid 长这样 grid { {1, 0, 1}, {0, 1, 0}, {1, 0, 1} } 遍历数组后存储到队列中的内容会是 queue { {0, 1}, {1, 0}, {1, 2}, {2, 1} } 每个队列元素是一个 int[] 数组例如 {0, 1}表示二维数组 grid 中的位置 (0, 1)即 grid[0][1] 的值是 0 Queue也可以在外边声明也可以在if语句中声明   2.将 Queue 的声明移到 if 语句内部的好处是  每次发现新的岛屿时您都会创建一个新的队列这样就不会重用先前岛屿的队列。这样也可以让 queue 仅在岛屿查找过程中存在避免了不必要的内存占用。 代码实现 using System; System.Collections.Generic class Program {     static void Main()     {         //读取输入         string[] firstLineConsole.ReadLine().Split();//读取一行输入并将其分割成一个字符串数组         int nint.Parse(firstLine[0]);         int mint.Parse(firstLine[1]);                  //填充岛屿         int[,] gridnew int[n,m];                  for(int i0;in;i)         {             firstLineConsole.ReadLine().Split();             for(int j0;jm;j)     //填充每一行             {                 grid[i,j]int.Parse(firstLine[j]);             }         }                  //计算岛屿数量         int CountCountIsland(grid,n,m);         Console.WriteLine(Count);     }          public int CountIsland(int[,]grid ,int n,int m)     {         int count0;                   for(int i0;in;i)         {             for(int j0;jm;j)             {                 if(grid[i,j]1)                 {                     count;                    grid[i,j]0;                    Queueint[] queuenew Queueint[]();                   queue.Enqueue(new int[]{i,j});//将坐标入队                    while(queue.Count0)                   {                       int[] tmpqueue.Dequeue();                       int rtmp[0];                       int ctmp[1];                     //判断该坐标四周                         if(r-10 grid[r-1,c]1)                         {                             queue.Enqueue(new int[]{r-1,c});                             grid[r-1,c]0;                         }                         if(r1n grid[r1,c]1)                         {                             queue.Enqueue(new int[]{r1,c});                             grid[r1,c]0;                         }                          if(c-10 grid[r,c-1]1)                         {                             queue.Enqueue(new int[]{r,c-1});                             grid[r,c-1]0;                         }                          if(c1m grid[r,c1]1)                         {                             queue.Enqueue(new int[]{r,c1});                             grid[r,c1]0;                         }                                    }                 }             }         }         return count; //返回岛屿数量     }      }
http://www.w-s-a.com/news/176691/

相关文章:

  • 哔哩哔哩网站建设分析有哪些做网站好的公司
  • 福建建设执业中心网站沧州网络推广外包公司
  • 做网站怎么改关键词营销网站建设818gx
  • 广撒网网站怎么进行网络营销
  • 中职计算机网站建设教学计划电商网站如何避免客户信息泄露
  • 惠州微网站建设外贸进出口代理公司
  • 网站建设最常见的问题建设银行网站机构
  • 网站集群建设相关的招标南通seo网站建设费用
  • 网络培训的网站建设能够做二维码网站
  • 网站类游戏网站开发wordpress 文章首标点
  • 徐州网站建设熊掌号免费推广网站入口2020
  • 网站建设有前途长春高铁站
  • 做网站网课阿里云域名查询系统
  • saas建站平台有哪些简述网站建设基本流程答案
  • 个人怎么做网站网站浏览思路
  • 网站建设里的知识长沙网络营销公司
  • 网站建设与维护大作业pc网站转换成微网站
  • php网站开发经典教材东莞网站开发
  • 教育培训手机网站模板下载跨境电商培训哪家最好
  • 网站开发淄博网站被降权会发生什么影响吗
  • 网站开发常用的语言东城手机网站制作
  • 微小店网站建设平台手机优化加速有什么用
  • 沈阳酒店企业网站制作公司竞价网站怎么做seo
  • 中山企业网站多少钱学网站建设的好处
  • 做官网网站哪家公司好jianux wordpress
  • 插件素材网站新站seo优化快速上排名
  • 网站注销主体填写原因asp响应式h5网站源码下载
  • 电商类网站模板下载济南市建设网官网
  • 万户网络做网站如何采集器wordpress
  • 襄阳网站建设企业查看 wordpress 插件