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

快站 淘宝优惠券网站建设合同

快站 淘宝优惠券,网站建设合同,给人做网站,泰国做网站网站要判几年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/56524/

相关文章:

  • 建站公司兴田德润实惠网站建设方案报价费用明细价格
  • 服务器网站跳转怎么做的网上做效果图网站有哪些软件有哪些
  • 怎样建设学校网站首页wordpress伪静态页文件夹
  • 二级网站的建设莆田个人外贸网站建设
  • 怎么做网站的后台维护在tomcat部署wordpress
  • 阜阳h5网站建设公司做网站 万户
  • 网站备案怎么在工信部信息核验网站开发案例及分析
  • 学校网站模板设计dw怎样制作网页
  • 网站开发 技术优势那里有网站建设
  • 常州做网站公司哪家好做模板网站赚钱吗
  • 网站如何创建大庆网站建设大庆
  • 做网站组织结构框架例子手机屏网站开发
  • 网站换域名了怎么做301重定向网站开发常用的技术
  • 白酒网站的建设wordpress include
  • 站酷网app软件工程师证书有用吗
  • ps网站设计全程绝密劳务外包公司
  • 建网站 温州公司网站的建设
  • 北京电力建设公司培训学校网站石家庄解封最新政策
  • 菏泽住房和城乡建设局网站辽宁建设工程信息网官网平台
  • 事业单位网站建设免费动漫
  • 桂林手机网站建设建筑智库免费网站
  • 泸州市建设厅网站二次开发需要注意什么
  • 怎么给企业做网站WordPress自动推送到公众号
  • 个人网站建设素材网站建设在作用是什么意思
  • 天津网站优化申请注册一个自媒体平台账号
  • 千素网站建设尊园地产做的网站
  • 苏州网站建设系统找哪家女教师遭网课入侵视频大全
  • 网站建设实训总结辽阳网站建设辽阳
  • 找一些好的网站建设案例网站运营知识
  • 上海电商网站开发响应式网站建设的未来发展6