当前位置: 首页 > 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.tj-hxxt.cn/news/90232.html

相关文章:

  • wordpress重复文章郑州网站优化
  • 网站建设技巧亅金手指排名27深圳产品网络推广
  • 用美国服务器做钓鱼网站windows优化大师是系统软件吗
  • app平台推广怎么做360优化大师下载
  • 西安购物网站建设爱站seo查询
  • 中山网站建设seo优化营销制作设计百度网盘下载慢
  • 家居网站应该怎么做品牌网络推广运营公司
  • 一个域名可以做两个网站吗竞价推广的企业
  • 动态公司网站设计关键词全网搜索工具
  • c 怎么和网站做交互网站后端开发
  • 做网站注册公司举例说明seo
  • 网站更换独立ip做app的网站
  • 虎门网站建设服务商友情链接检查工具
  • 普通网站 seo 多少钱seo入门课程
  • java软件开发工程师证书seo资料站
  • 北京专业网站开发网站流量统计
  • 网站开发类比赛百度一下搜索
  • 不同网站建设特点谷歌商店官网
  • 广州网站建设腾虎谷歌浏览器下载视频
  • 玉林网站制作百度官方免费下载安装
  • 桥东网站建设品牌营销策划方案
  • 权威的网站建设百度实名认证
  • ui设计培训一般多久百度怎么优化关键词排名
  • 专业做国际网站市场调研的基本流程
  • 网站开发网络公司建网站哪个平台好
  • 网站备案安全承诺书企业网站制作哪家好
  • 培训行业网站建设的重要性品牌关键词排名优化怎么做
  • 强化网站建设和监管新乡网站优化公司价格
  • 微信头像做国旗网站深圳百度推广代理
  • 这样做网站线上营销手段有哪些