【LeetCode热题100】【图论】岛屿数量

ops/2024/9/24 8:15:28/

题目链接:200. 岛屿数量 - 力扣(LeetCode)

考察图的遍历,从岛上上下左右能到达的地方都是这个岛

首先需要判断图的边界,然后再上下左右继续深度遍历,并把遍历到的标记为已访问,可以原地修改图做标记

对于这道题来说,从是1的地方深度遍历,改写可以到达的地方,这样就是一个岛屿,如果还有1,说明还有岛屿

class Solution {
public:int rows, columns;vector<vector<char> > grid;bool isValid(int x, int y) {return x >= 0 && y >= 0 && x < rows && y < columns;}void dfs(int x, int y) {if (isValid(x, y) == false || grid[x][y] != '1')return;grid[x][y] = '2';dfs(x - 1, y);dfs(x + 1, y);dfs(x, y - 1);dfs(x, y + 1);}int numIslands(vector<vector<char> > &grid) {rows = grid.size();columns = grid[0].size();this->grid = move(grid);int ans = 0;for (int i = 0; i < rows; ++i)for (int j = 0; j < columns; ++j)if (this->grid[i][j] == '1') {dfs(i, j);++ans;}return ans;}
};

http://www.ppmy.cn/ops/3291.html

相关文章

ceph用户管理

查看用户及权限 ceph auth ls 可以看到管理员权限具有所有组件的全部权限 查看特定用户 ceph auth get client.admin 创建cephfs使用用户 ceph auth get-or-create client.fs mon allow r mds allow rw osd allow rw poolcephfs-data -o /etc/ceph/ceph.client.fs.keyring…

【银角大王———Django学习DAY0——基础准备】

银角大王——Django学习前情提要 &#xff08;1&#xff09;在pycharm中下载Flask&#xff08;2&#xff09;使用Flask&#xff08;3&#xff09;下载BootStrap框架&#xff08;4&#xff09; 使用BootStrap框架 &#xff08;1&#xff09;在pycharm中下载Flask 在设置——项目…

idea显示maven或者gradle无法从仓库获取到项目中的jar包,jar包所在仓库无法访问解决方法,百试百灵

**idea显示maven或者gradle无法从仓库获取到项目中的jar包&#xff0c;jar包所在仓库无法访问解决方法&#xff0c;百试百灵** 直接上图&#xff0c;大概的故障问题就是&#xff1a;idea导入新的项目&#xff0c;因为项目中很多的jar需要从远程仓库下载&#xff0c;但是远程仓库…

高质量ChatGPT Prompts 精选

通用超级 Prompt GPT4实用。通用超级 prompt &#xff0c;根据你想要的输出和你的反馈&#xff0c;自动使用相应的专家角色帮你解决问题。如果需要升级ChatGPT Plus&#xff0c;可以参考教程 升级 GPT4.0 保姆教程 您是一位具有多领域专长的专家级ChatGPT提示工程师。在我们…

使用 Godot 游戏引擎为 Apple 的 visionOS 创建游戏和应用的平台

借助GodotVision ,您可以使用Godot 游戏引擎为 Apple VisionOS创建游戏和应用程序。 保卫牛城堡,一款使用 GodotVision 制作的 VisionOS 游戏 GodotVision 运行一个控制本机RealityKit 视图的无头 Godot实例。粗略地说:Godot 是后端,

第五届上海市青少年算法竞赛 T6 位置互换(广度优先搜索)

第六题&#xff1a;T6位置互换 标签&#xff1a;广度优先搜索题意&#xff1a;给定一个矩形地图&#xff0c;地图中 . . .代表可以走的空地&#xff1b; # \# #代表不可以走的墙壁&#xff1b; 1 1 1表示小爱初始的位置&#xff1b; 2 2 2表示小艾初始的位置。小爱和小艾可以上…

Vue3页面的执行过程

在 Vue 3 中&#xff0c;一个普通的页面的执行过程可以分为以下几个环节&#xff1a; 创建 Vue 应用程序实例&#xff08;createApp&#xff09;&#xff1a; 使用 createApp 函数创建一个 Vue 根实例。配置根实例--该函数接收一个配置对象作为参数&#xff0c;其中的配置项可包…

已解决javax.sound.midi.InvalidMidiDataException: 无效的MIDI数据异常的正确解决方法,亲测有效!!!

已解决javax.sound.midi.InvalidMidiDataException: 无效的MIDI数据异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 报错原因 解决思路 解决方法 确认MIDI文件有效性 正确使用MIDI API 遵循MIDI规范创建数据 总结 博主v&…