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

南通网站排名方法杭州工商注册

南通网站排名方法,杭州工商注册,网站制作公司网,怎么制作免费网站岛屿数量 深搜 题目链接/文章讲解&#xff1a;代码随想录 class Solution {// 计算网格中岛屿的数量public int numIslands(char[][] grid) {int sum 0; // 初始化岛屿数量为0// 遍历整个网格for (int i 0; i < grid.length; i) {for (int j 0; j < grid[0].length…

岛屿数量 深搜

题目链接/文章讲解:代码随想录

class Solution {// 计算网格中岛屿的数量public int numIslands(char[][] grid) {int sum = 0;  // 初始化岛屿数量为0// 遍历整个网格for (int i = 0; i < grid.length; i++) {for (int j = 0; j < grid[0].length; j++) {// 如果当前单元格是陆地('1'),则表示发现了一个新的岛屿if (grid[i][j] == '1') {sum++;  // 增加岛屿计数dfs(grid, i, j);  // 使用深度优先搜索(DFS)标记整个岛屿}}}return sum;  // 返回岛屿的总数}// 深度优先搜索,用于标记连接的陆地public void dfs(char[][] grid, int i, int j) {// 如果索引越界或当前单元格是水('0'),则返回if (i < 0 || i > grid.length - 1 || j < 0 || j > grid[0].length - 1 || grid[i][j] == '0') {return;}// 将当前单元格标记为水('0'),表示已经访问过grid[i][j] = '0';// 递归地检查四个方向(上、下、左、右)的相邻单元格dfs(grid, i - 1, j);  // 上dfs(grid, i + 1, j);  // 下dfs(grid, i, j - 1);  // 左dfs(grid, i, j + 1);  // 右}
}

岛屿数量 广搜

题目链接/文章讲解:代码随想录

class Solution {public int numIslands(char[][] grid) {// 创建一个队列用于BFSQueue<int[]> queue = new LinkedList<>();// 初始化岛屿数量int sum = 0;// 遍历整个网格for (int i = 0; i < grid.length; i++) {for (int j = 0; j < grid[0].length; j++) {// 如果当前位置是陆地('1')if (grid[i][j] == '1') {// 发现一个新的岛屿,岛屿数量加一sum++;// 将当前位置加入队列,并标记为已访问('0')queue.add(new int[]{i, j});grid[i][j] = '0';// 开始BFSwhile (!queue.isEmpty()) {// 从队列中取出一个位置int[] cur = queue.poll();int x = cur[0];int y = cur[1];// 检查上方的位置if (x - 1 >= 0 && grid[x - 1][y] == '1') {queue.add(new int[]{x - 1, y});grid[x - 1][y] = '0'; // 标记为已访问}// 检查下方的位置if (x + 1 < grid.length && grid[x + 1][y] == '1') {queue.add(new int[]{x + 1, y});grid[x + 1][y] = '0'; // 标记为已访问}// 检查左边的位置if (y - 1 >= 0 && grid[x][y - 1] == '1') {queue.add(new int[]{x, y - 1});grid[x][y - 1] = '0'; // 标记为已访问}// 检查右边的位置if (y + 1 < grid[0].length && grid[x][y + 1] == '1') {queue.add(new int[]{x, y + 1});grid[x][y + 1] = '0'; // 标记为已访问}}}}}// 返回岛屿的总数量return sum;}
}

岛屿的最大面积

题目链接/文章讲解:代码随想录

class Solution {// 主方法,用于计算二维网格中最大的岛屿面积public int maxAreaOfIsland(int[][] grid) {int max_area = 0; // 初始化最大岛屿面积为0// 遍历整个二维网格for (int i = 0; i < grid.length; i++) {for (int j = 0; j < grid[0].length; j++) {// 如果当前格子是岛屿(值为1)if (grid[i][j] == 1) {// 使用深度优先搜索计算当前岛屿的面积int area = dfs(grid, i, j);// 更新最大岛屿面积max_area = Math.max(max_area, area);}}}return max_area; // 返回最大岛屿面积}// 深度优先搜索方法,用于计算岛屿的面积public int dfs(int[][] grid, int i, int j) {// 检查当前格子是否越界或是否是水域(值为0)if (i < 0 || i >= grid.length || j < 0 || j >= grid[0].length || grid[i][j] == 0) {return 0; // 如果是越界或水域,返回面积为0}grid[i][j] = 0; // 将当前格子标记为已访问(值设为0)// 递归计算当前格子上、下、左、右四个方向的岛屿面积int up = dfs(grid, i - 1, j); // 上int down = dfs(grid, i + 1, j); // 下int left = dfs(grid, i, j - 1); // 左int right = dfs(grid, i, j + 1); // 右// 返回当前格子的面积(1)加上四个方向的面积之和return 1 + up + down + left + right;}
}
http://www.yayakq.cn/news/489703/

相关文章:

  • 江西建设职业技术学院网站专门做封面的网站
  • 精湛的合肥网站建设建设厅网站上企业登录
  • 做百度网站需不需要备案公司建设网站
  • 天津西青区离哪个火车站近上海网站建筑公司
  • 网站做资讯需要获取许可证吗怎么做网站代理
  • 百度网站建设的十一个软环境建设网站
  • 极简个人网站模板设置网站首页
  • 青岛做网站推广公司哪家好国外做爰网站
  • 会计题库网站怎么做网站建设运营服务公司
  • seo网站设计费用通讯录管理网站建设
  • 公司网站一定要域名吗浙江嘉兴seo网站优化推广
  • 加强门户网站建设与管理我国哪些网站是做调查问卷的
  • 4399谁做的网站网站关键字在哪里设置
  • html5网站在线制作网站内容页显示不出来的
  • 建设网站费用多少网站新闻列表页设计
  • 鄱阳县建设局网站传奇电脑版
  • 网站建设私活成都房产信息网 官网
  • 律师网站维护gpl2 wordpress
  • 嘉兴高端网站建设公司做财务还是网站运营
  • 网站我优化wordpress 微信客户端
  • 品牌型网站的作用网站文章页301重定向怎么做
  • c2c模式的网站有哪些网站建设都包括什么科目
  • 手机网站建设 苏州网站虚拟空间更新缓存
  • 网站制作公司合肥烟台网站制作套餐
  • 主要的电子商务网站有哪些app开发网站建设哪家好
  • 电子商务网站建设怎么做洛可可设计集团
  • 济南建站公司网站网站代运营要多少费用吗
  • 网站规划包含哪些内容深圳做购物网站
  • 蜘蛛抓取网站模块原理小游戏网址代码
  • 网站的横幅怎么做的网站中的ppt链接怎么做的