news 2026/6/25 14:54:25

代码随想录 695.岛屿的最大面积

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
代码随想录 695.岛屿的最大面积

思路:

1.注意题目中的每座岛屿只能由水平方向和竖直方向相邻的陆地连接形成。

2.这题也是bfs、dfs的基础题目,就是搜索每个岛屿上“1”的数量,然后取一个最大的。

一、DFS:

附代码:

class Solution { public int maxAreaOfIsland(int[][] grid) { int res = 0; for(int i = 0;i < grid.length;i++){ for(int j = 0;j < grid[i].length;j++){ if(grid[i][j] == 1){ //发现新岛屿 res = Math.max(res,dfs(grid,i,j)); //将整个岛屿标记为已访问,统计岛屿面积并求最大岛屿面积 } } } return res; } private int dfs(int[][] grid,int i,int j){ if(i < 0 || j < 0 || i >= grid.length || j >= grid[i].length || grid[i][j] == 0){ return 0; } //当前节点 int count = 1; //将当前岛屿标记为已访问(沉没岛屿,改为0) grid[i][j] = 0; //向四个方向递归探索 count += dfs(grid,i - 1,j); count += dfs(grid,i + 1,j); count += dfs(grid,i,j + 1); count += dfs(grid,i,j - 1); return count; } }

二、BFS:

附代码:

class Solution { public int maxAreaOfIsland(int[][] grid) { int res = 0; for(int i = 0;i < grid.length;i++){ for(int j = 0;j < grid[0].length;j++){ if(grid[i][j] == 1){ res = Math.max(res,bfs(grid,i,j)); } } } return res; } private int bfs(int[][] grid,int i,int j){ int[] dx = {1,-1,0,0}; int[] dy = {0,0,1,-1}; LinkedList<int[]> queue = new LinkedList<>(); queue.add(new int[] {i,j}); grid[i][j] = 0; int count = 1; while(!queue.isEmpty()){ int[] cur = queue.remove(); for(int index = 0;index < 4;index++){ int nx = cur[0] + dx[index],ny = cur[1] + dy[index]; if(nx >= 0 && nx < grid.length && ny >= 0 && ny < grid[0].length && grid[nx][ny] == 1){ grid[nx][ny] = 0; count += 1; queue.add(new int[] {nx,ny}); } } } return count; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 7:44:28

电动平车厂家哪家好

电动平车厂家哪家好在工业生产和物流运输领域&#xff0c;电动平车的应用越来越广泛&#xff0c;它能高效地完成物料的搬运和转移&#xff0c;提升工作效率。然而&#xff0c;市场上电动平车厂家众多&#xff0c;选择一家好的厂家至关重要。那么&#xff0c;电动平车厂家哪家好…

作者头像 李华
网站建设 2026/6/26 1:14:31

当你的心理咨询师,是一串代码:AI情感支持的技术伦理与温度边界

深夜&#xff0c;你向一个AI倾诉痛苦&#xff0c;它精准地识别了你的抑郁情绪&#xff0c;但无法感知你泪水中的温度&#xff1b;它依据海量数据给出建议&#xff0c;却无法为这份建议承担任何责任。凌晨两点&#xff0c;小A再次打开了手机里的AI聊天应用。面对屏幕另一端那个永…

作者头像 李华
网站建设 2026/6/24 2:20:09

终极Unity材质球合集:800+专业级游戏开发资源

终极Unity材质球合集&#xff1a;800专业级游戏开发资源 【免费下载链接】800个Unity材质球资源集 这款开源项目提供了800个Unity材质球&#xff0c;经过Unity 5.6.5版本的严格测试&#xff0c;确保其可用性&#xff0c;并建议使用Unity 5.X及以上版本以获得最佳效果。这些材质…

作者头像 李华
网站建设 2026/6/24 12:31:16

如何用AtomicServer打造高性能无头CMS:三步快速上手指南

如何用AtomicServer打造高性能无头CMS&#xff1a;三步快速上手指南 【免费下载链接】atomic-server An open source headless CMS / real-time database. Powerful table editor, full-text search, and SDKs for JS / React / Svelte. 项目地址: https://gitcode.com/gh_mi…

作者头像 李华
网站建设 2026/6/25 13:41:45

第一章 Python基础

第一章 Python基础 【免费下载链接】markitdown 将文件和办公文档转换为 Markdown 的 Python 工具 项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown Python是一种解释型、面向对象的高级编程语言... 1.1 变量和数据类型 在Python中&#xff0c;变量不需…

作者头像 李华