岛屿数量--

int dx[]={0,0,1,-1};

int dy[]={1,-1,0,0};

class Solution {

public:

void dfs(vector<vector<char>>& grid,vector<vector<bool>>& used,int i,int j,int n,int m){

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

used[i][j]=true;

for(int k=0;k<4;++k){

int x=i+dx[k],y=j+dy[k];

if(x<0||x>=n||y<0||y>=m||used[x][y]||grid[x][y]!='1')continue;

dfs(grid,used,x,y,n,m);

}

}

int numIslands(vector<vector<char>>& grid) {

int n=grid.size(),m=grid[0].size();

vector<vector<bool>>used(n,vector(m,false));

int cnt=0;

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

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

if(used[i][j]==false&&grid[i][j]=='1'){

cnt++;

dfs(grid,used,i,j,n,m);

}

}

}

return cnt;

}

};

相关推荐
Reisentyan7 小时前
[杭电春季联赛5]1004 赛马
算法
雨墨✘8 小时前
基于比较的三种排序算法:插入排序、合并排序和快排序
数据结构·算法·排序算法
故事和你918 小时前
洛谷-数据结构1-2-二叉树1
开发语言·数据结构·c++·算法·leetcode·动态规划·图论
xu_wenming8 小时前
手写数字识别项目教程
网络·算法
_日拱一卒8 小时前
LeetCode:19删除链表的倒数第N个节点
算法·leetcode·链表
AIoT科技物语8 小时前
免费开源!50+算法,Java基于YOLO框架的视频AI识别算法平台,适配低空无人机巡检、摄像头安防场景
java·人工智能·算法·yolo·开源
ん贤8 小时前
Go GC垃圾回收机制
算法·go·gc·垃圾回收
y = xⁿ8 小时前
20天速通LeetCode day08:关于栈
算法·leetcode·职场和发展
Shadow(⊙o⊙)8 小时前
专题二滑动窗口
数据结构·算法
tankeven8 小时前
HJ181 相差不超过k的最多数
数据结构·c++·算法