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

搜索郑州网站400电话网络推广商城网站

搜索郑州网站,400电话网络推广商城网站,电子商务网站建设项目范围,石家庄网站优化排名推广6.飞地的数量 题目描述 给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 grid 的边界。 返回网格中 无法…

6.飞地的数量

  • 题目描述

给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。

一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 grid 的边界。

返回网格中 无法 在任意次数的移动中离开网格边界的陆地单元格的数量。

示例 1:

img

输入:grid = [[0,0,0,0],[1,0,1,0],[0,1,1,0],[0,0,0,0]]
输出:3
解释:有三个 10 包围。一个 1 没有被包围,因为它在边界上。
  • 题目分析
1.题目分析
给定一个二进制矩阵 grid,其中0表示海洋单元格,1表示陆地单元格。
一次移动是指从一个陆地单元格走到另一个相邻的陆地单元格或者跨过矩阵边界。
要求找出在任意次数的移动中无法离开网格边界的陆地单元格数量。2.思路分析
--主要思路:
使用深度优先搜索(DFS)来遍历所有的陆地单元格,并标记与边界相连的陆地单元格。
维护两个全局变量 flag 和 spare,分别用于标记每块岛屿是否靠海和记录每块岛屿的面积。
遍历整个二维网格,对每个陆地单元格进行DFS处理,统计无法跨越边界的方块数。--详细步骤:
-初始化 count 为0,用于表示无法跨越边界的方块数。
-遍历二维网格 grid 的每个单元格 (i, j)-如果当前单元格为陆地(grid[i][j] == 1),则调用 dfs 方法进行DFS处理。
-在 dfs 方法中:
如果当前位置 (i, j) 超出边界或者是海洋(grid[i][j] == 0),则返回。否则,标记当前位置为已访问,更新 spare 记录当前岛屿面积。
如果当前位置在边界上,则将 flag 标记为1,表示当前岛屿靠近海洋。继续递归调用DFS处理当前位置的四个相邻位置。
如果当前岛屿不靠近海洋(flag == 0),则将当前岛屿的面积累加到 count 中。最后返回 count 作为结果。
-复杂度分析:
时间复杂度:O(m*n),m 和 n 分别为二维网格的行数和列数,需要遍历整个二维网格。
空间复杂度:O(1),除了函数调用栈外,没有使用额外空间。
  • Java代码实现
class Solution {int flag = 0; // 用于标记每块岛屿是否靠海int spare = 0; // 用于标记每块岛屿的面积public int numEnclaves(int[][] grid) {int count = 0; // 表示无法跨越边界的方块数for (int i = 0; i < grid.length; i++) {for (int j = 0; j < grid[0].length; j++) {if (grid[i][j] == 1) {dfs(grid, i, j);if (flag == 0) {count += spare;}spare = 0;flag = 0;}}}return count;}private void dfs(int[][] grid, int i, int j) {if (i < 0 || j < 0 || i >= grid.length || j >= grid[0].length) {return;}if (grid[i][j] == 0) {return;}spare++;grid[i][j] = 0;if (i == 0 || i == grid.length - 1 || j == 0 || j == grid[0].length - 1) {flag = 1; // 表示存在临海区域}dfs(grid, i + 1, j); // 下dfs(grid, i - 1, j); // 上dfs(grid, i, j + 1); // 右dfs(grid, i, j - 1); // 左}
}
http://www.yayakq.cn/news/213953/

相关文章:

  • 花店网站建设目的成都高新区建设厅网站
  • 怎么让客户做网站优化wordpress 阅读更多
  • 企业网站建设方案 功能规划wordpress wpoptions
  • 广东seo网站设计营销工具云南装饰公司做网站
  • 帝国和织梦哪个做网站好百度竞价推广的优势
  • 广州金融网站建设销售培训班在哪里报名
  • 自建站服务城镇建设部网站
  • 摄影网站cnu视觉联盟国内 响应式网站
  • 建国外网站需要多少钱海外搜索引擎网站建设
  • 鲜花网站建设的项目介绍网页制作的基本步骤共七步
  • wordpress企业网站主题东莞网站建设报价方案
  • 嘉兴网站推广企业wordpress哪个模板好用
  • 山东省住房建设厅网站首页网站设计建设合同是
  • 如何做网站的链接结构物理组简介 网站建设
  • seo的培训网站哪里好单页网站建设教程
  • 网站建站网站设计顺德网站建设价位
  • 现在1做啥网站流量大国内疫苗接种率
  • 80s网站建设工作室注册人力资源公司需要什么手续
  • 合肥百度网站排名优化中国印花图案设计网站
  • 学做网站要什么学历园林景观设计公司的培训手册模板
  • 清河网站建设费用怎样做一个网站平台
  • 做ipad的网站尺寸是多少钱兰州中川国际机场电话
  • o2o网站策划前端 网站开发 常见功能实现
  • 建设银行人力资源系统网站怎么进广西网站建设建议
  • 茂名平安建设网站设计制作软件
  • 西安定制网站龙岗网站设计公司价格
  • 成都网站建设公司盈利吗网站建设跟推广评价指标有什么关系
  • 中原免费网站建设企业网站制作哪家好
  • 园岭中小网站建设网站页面设计优化方案
  • 快速做彩平图得网站建设一个小说网站多少钱