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);

}

};

相关推荐
库克克24 分钟前
【C++】STL 库
c++
待磨的钝刨34 分钟前
深入理解主成分分析(PCA)
人工智能·线性代数·算法·机器学习
星恒随风40 分钟前
C++ 继承进阶:默认成员函数、多继承、虚继承与组合设计
开发语言·c++·笔记·学习
电子云与长程纠缠1 小时前
UE中使用TGuardValue与TInlineComponentArray数据结构
开发语言·数据结构·学习·ue5·游戏引擎
呜喵王阿尔萨斯1 小时前
C/C++ const -- 多义混乱
c语言·开发语言·c++
海清河晏1111 小时前
Qt实战:从零构建美化登录界面
开发语言·c++·qt
来一碗刘肉面1 小时前
串的定义与基本操作
数据结构
一只小灿灿1 小时前
C++ 各类特殊符号、运算符
开发语言·c++
geovindu2 小时前
java: Backtracking Algorithm
java·开发语言·windows·后端·算法·回溯算法
三克的油2 小时前
数据结构-1
数据结构