LeetCode:1905. 统计子岛屿

class Solution {

public:

int countSubIslands(vector<vector<int>>& grid1, vector<vector<int>>& grid2) {

int m = grid1.size(), n = grid10.size();

for (int i = 0; i < m; i++) {

for (int j = 0; j < n; j++) {

//说明不是子岛

if (grid1ij == 0 && grid2ij == 1) {

dfs(grid2, i, j);

}

}

}

int res = 0;

for (int i = 0; i < m; i++) {

for (int j = 0; j < n; j++) {

if (grid2ij == 1) {

res++;

dfs(grid2, i, j);

}

}

}

return res;

}

private:

void dfs(vector<vector<int>>& grid, int i, int j) {

int m = grid.size(), n = grid0.size();

if (i < 0 || j < 0 || i >= m || j >= n) {

return;

}

if (gridij == 0) {

return;

}

gridij = 0;

dfs(grid, i + 1, j);

dfs(grid, i, j + 1);

dfs(grid, i - 1, j);

dfs(grid, i, j - 1);

}

};

相关推荐
Hello:CodeWorld10 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
8Qi811 小时前
LeetCode 516:最长回文子序列
算法·leetcode·职场和发展·动态规划
搬砖魁首12 小时前
基础能力系列 - 多线程2 - 条件变量
c++·rust·条件变量·原子类型·线程同步互斥
youngerwang12 小时前
【从搬运工到协处理器:网卡芯片架构、算法、验证与边缘演进深度剖析】
网络·算法·架构·芯片
chase_my_dream12 小时前
C++ + SLAM 高频面试问题整理
开发语言·c++·面试
想要成为糕糕手12 小时前
前端必修课:JavaScript 数组与数据结构底层逻辑全解析
javascript·数据结构·面试
牛油果子哥q13 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
KaMeidebaby13 小时前
卡梅德生物技术快报|纯化重组蛋白实操详解
人工智能·python·tcp/ip·算法·机器学习
手写码匠14 小时前
从零实现 Prompt 工程引擎:结构化提示、自动优化与多轮自省体系
人工智能·深度学习·算法·aigc
无限码力14 小时前
阿里算法岗 0530笔试真题 - 多约束条件下的元素匹配统计
算法·阿里笔试真题·阿里机试真题·阿里算法岗笔试