力扣1020——飞地的数量(DFS)
解题思路
从四条边开始dfs,消灭所有连通块,剩余的1就是答案
代码
class Solution {
private:
vector
int m, n;
public:
vector
void dfs(int x, int y) {
g[x][y] = 0;
for(auto [dx, dy] : dir) {
int nx = x + dx, ny = y + dy;
if(nx < 0 || nx >= m || ny < 0 || ny >= n) continue;
if(g[nx][ny]) dfs(nx, ny);
版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/19035.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
共有 0 条评论