福建商城网站制作公司成都必去的10个景点
2026/4/6 14:33:30 网站建设 项目流程
福建商城网站制作公司,成都必去的10个景点,网页制作模板高清图片,2345网址大全手机一、题目描述 二、算法原理 思路#xff1a;使用 BFS 算法 这道题目是基于#xff1a;https://blog.csdn.net/2403_84958571/article/details/157102131?spm1011.2415.3001.10575sharefrommp_manage_link 图形化渲染的题目来的#xff0c;因为图形化显然遍历上下左…一、题目描述二、算法原理思路使用 BFS 算法这道题目是基于https://blog.csdn.net/2403_84958571/article/details/157102131?spm1011.2415.3001.10575sharefrommp_manage_link图形化渲染的题目来的因为图形化显然遍历上下左右时将遍历的值修改了所以不会重复遍历所以我们只要补充一下这道题我们也弄出一个二维数组大小跟题目给的一样但是这里面存储的值为bool 值我们初始化时将他初始化为 fasle代表未查找过的岛屿如果我们使用 BFS 算法查找时要将遍历过的值变成true 代表查找过了三、代码实现class Solution { int dy[4] {0,0,1,-1}; int dx[4] {1,-1,0,0}; typedef pairint,int PII; void checkgrid(queuePII que,vectorvectorbool tmp,vectorvectorchar grid) { while(que.size())//BFS 算法 { auto [x,y] que.front(); que.pop(); tmp[x][y] true; for(int i 0; i 4; i) { int a x dy[i]; int b y dx[i]; if(a 0 a tmp.size() b 0 b tmp[0].size() grid[a][b] 1 tmp[a][b] false) { tmp[a][b] true; que.push({a,b}); } } } } public: int numIslands(vectorvectorchar grid) { vectorvectorbool tmp(grid.size(),vectorbool(grid[0].size(),false));//模拟遍历过的数组 int x grid[0].size(); int y grid.size(); queuePII que; int size 0;//岛屿个数 for(int i 0;i y; i)//遍历数组找到未遍历过的岛屿即false { for(int k 0; k x;k) { if(grid[i][k] 1 tmp[i][k] false) { que.push({i,k}); size; checkgrid(que,tmp,grid); } } } return size; } };

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询