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

}

};

相关推荐
wabs6668 分钟前
关于字符串【力扣344.反转字符串的思考】
数据结构·算法·leetcode
LuminousCPP12 分钟前
数据结构基础篇(二):顺序表与链表全方位对比|从内存布局到 CPU 缓存理解底层差异
c语言·数据结构·经验分享·链表·缓存
王老师青少年编程42 分钟前
2021年CSP-J初赛真题及答案解析(完善程序2)
c++·真题·csp-j·答案·csp·初赛·信奥赛
有点。1 小时前
C++二叉树(一)
开发语言·数据结构·c++
民乐团扒谱机1 小时前
【微实验】谐波乘积谱(HPS)算法深度解析:原理、数学与代码实现
开发语言·人工智能·python·算法·语音识别·音乐
Nil2081 小时前
leetcode 73矩阵置0
算法·leetcode·矩阵
Lazionr1 小时前
stack与queue:底层实现与容器适配器
开发语言·数据结构·c++
豆沙沙包?2 小时前
C++~~~vector容器(p31-P40)
开发语言·c++
小小de风呀2 小时前
de风——【从零开始学习C++】(十八):AVL树——让二叉搜索树自己“站起来“的自平衡黑科技
c++·科技·学习
原野池予2 小时前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java·数据结构·list