LeetCode HOT100系列题解之岛屿数量(10/100)

embedded/2025/3/25 2:13:58/

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

题解:是一个非常裸的Floodfill问题来求解连通块个数,那么可以想到使用DFS或者BFS来遍历解决。当该点为1时,即对上下左右四个位置遍历,直到周围全为‘0’点。

class Solution {
public:const int dir[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};void bfs(vector<vector<char>>& grid,int x, int y, const int n, const int m){queue<pair<int,int>> q;q.push({x, y});while(q.size()){auto t = q.front();q.pop();for(int i = 0; i < 4; i ++){int x = t.first + dir[i][0];int y = t.second + dir[i][1];if(x < 0 || x >= n || y < 0 || y >= m) continue;if(grid[x][y] == '0') continue;grid[x][y] = '0';q.push({x, y});}}}int numIslands(vector<vector<char>>& grid) {vector<vector<int>> directions = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};const int n = grid.size();const int m = grid[0].size();int ans = 0;for(int i = 0; i < n; i ++)for(int j = 0; j < m; j ++)if(grid[i][j] == '1'){bfs(grid, i, j,n, m);ans ++;}return ans;}
};

http://www.ppmy.cn/embedded/175950.html

相关文章

什么是机器学习?从零基础到自动驾驶案例全解析

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…

Python推导式深入解析

引言 Python 以其简洁、高效的语法而备受开发者喜爱&#xff0c;其中推导式&#xff08;Comprehensions&#xff09;更是 Python 语法的一大特色。推导式提供了一种简洁明了的方式来创建列表、集合和字典等数据结构&#xff0c;让代码更加紧凑和易读。本文将深入探讨 Python 推…

在线运行vscode

安装 https://github.com/coder/code-server?utm_sourcesyndication&pubDate20250317 运行前预览脚本 curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run运行脚本 curl -fsSL https://code-server.dev/install.sh | sh其他 可以通过后台服务运行&am…

【STM32实物】基于STM32的扫地机器人/小车控制系统设计

基于STM32的扫地机器人/小车控制系统设计 演示视频: 基于STM32的扫地机器人小车控制系统设计 简介:扫地机器人系统采用分层结构设计,主要包括底层硬件控制层、中间数据处理层和上层用户交互层。底层硬件控制层负责对各个硬件模块进行控制和数据采集,中间数据处理层负责对采…

虚拟机访问主机的plc仿真

主机 虚拟机 默认&#xff0c;连接物理地址

无法写入文件:(FileSystemError): Error: EPERM: operation not permitted, open...)

问题分析&#xff1a; 当我想在Visual Studio Code中编写文件时&#xff0c;出现无法写入文件的错误&#xff0c;发现是权限的问题 解决办法&#xff1a; 右键应用图标 → 以管理员身份运行就可以了

对比学习(Contrastive Learning)初接触

自监督学习结合了生成模型和对比模型的特点&#xff1a;从大量无标签数据中学习表示 引用知乎博主&#xff1a; https://zhuanlan.zhihu.com/p/410442591

Elasticsearch 中的数据分片问题

Elasticsearch 在存储数据时采用 分片&#xff08;Shard&#xff09;机制&#xff0c;以提高性能和可扩展性。 Elasticsearch 分片机制 Elasticsearch 索引中的数据被划分成多个 主分片&#xff08;Primary Shard&#xff09; 和 副本分片&#xff08;Replica Shard&#xff…