力扣1020——飞地的数量(DFS)

解题思路
从四条边开始dfs,消灭所有连通块,剩余的1就是答案
代码
class Solution {
private:
vector> g;
int m, n;
public:
vector> dir = {{-1,0}, {1,0}, {0,-1}, {0,1}};
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);

力扣1020——飞地的数量(DFS)最先出现在Python成神之路

版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/19035.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>