当前位置: 首页 > news >正文

网站建设接单源码柳州论坛网站建设

网站建设接单源码,柳州论坛网站建设,免费下载ppt模板的网站有哪些,公司建设网站能提升什么竞争力思路dfs#xff1a; 首先通过两层for循环遍历每一个点#xff0c;如果这个点为0或者2#xff08;这个2是什么呢#xff1f;是在遍历该点以及该点连成的这一片区域中#xff0c;因为通过深度优先搜索#xff0c;遍历该点就等于遍历这一片区域#xff0c;遍历这篇区域中的… 思路dfs 首先通过两层for循环遍历每一个点如果这个点为0或者2这个2是什么呢是在遍历该点以及该点连成的这一片区域中因为通过深度优先搜索遍历该点就等于遍历这一片区域遍历这篇区域中的点的同时将这些元素标记为2即代表这篇区域已经遍历过那么遍历下一个点。遇到一个新的区域则cnt。 那么怎么进行深度搜索呢即如果该点1那么将该点的上方、下方、左方、右方送入dfs。 dfs代码 C: class Solution { public:int p_m[4]{-1,1,0,0};int p_n[4]{0,0,-1,1};void dfs(vectorvectorchar grid,int i,int j,int m,int n){for(int k0;k4;k){int xip_m[k];int yjp_n[k];if(x0 xm y0 yn){if(grid[x][y]0||grid[x][y]2){continue;}else{grid[x][y]2;dfs(grid,x,y,m,n);}}}}int numIslands(vectorvectorchar grid) {int mgrid.size();int ngrid[0].size();//coutm nendl;int cnt0;for(int i0;im;i){for(int j0;jn;j){if(grid[i][j]2||grid[i][j]0){continue;}else{dfs(grid,i,j,m,n);cnt;}}}return cnt;} }; 注意二维数组中求行数为  int mgrid.size(); 求列数为 int ngrid[0].size(); python class Solution:def dfs(self,grid:List[list[str]],i:int,j:int,m:int,n:int) - int:p_m[-1,1,0,0]p_n[0,0,-1,1]for k in range(4):xip_m[k]yjp_n[k]if x0 and xm and y0 and yn:if grid[x][y]0 or grid[x][y]2:continueelse:grid[x][y]2self.dfs(grid,x,y,m,n)def numIslands(self, grid: List[List[str]]) - int:mlen(grid)nlen(grid[0])cnt0for i in range(m):for j in range(n):if grid[i][j]2 or grid[i][j]0:continue;else:self.dfs(grid,i,j,m,n)cnt1return cnt bfs思路 与dfs类似遍历每个元素时如果该元素的值为1那么将其入队列并且考虑其上下左右的元素如果周围元素值为1将其也入队列。遍历一个元素时如果该值为1那么代表访问了一个新的区域则cnt。 代码 C class Solution { public:dequepairint,int q;int p_x[4]{-1,1,0,0};int p_y[4]{0,0,1,-1};int numIslands(vectorvectorchar grid) {int cnt0;int mgrid.size();int ngrid[0].size();for(int i0;im;i){for(int j0;jn;j){if(grid[i][j]0||grid[i][j]2){continue;}else{cnt;}q.push_back({i,j});while(!q.empty()){pairint,int tempq.front();q.pop_front();int temp_xtemp.first;int temp_ytemp.second;if(grid[temp_x][temp_y]0||grid[temp_x][temp_y]2){continue;}else{grid[temp_x][temp_y]2;for(int k0;k4;k){int xtemp_xp_x[k];int ytemp_yp_y[k];if(x0 xm y0 yn){if(grid[x][y]0||grid[x][y]2){continue;}else{q.push_back({x,y});}}}}}}}return cnt;} }; 明显可以看到bfs要比dfs慢的多。 python 明天继续更啦~ 前序中序遍历二叉树 并查集做该道题 bfs的python写法
http://www.pierceye.com/news/811476/

相关文章:

  • 门户网站建设要求易申建设网站
  • 现在创业什么行业最好seo全网营销公司
  • 网站 域名 授权服务器 分布式网站模板英文
  • wordpress 二维码插件搜索引擎优化的方法
  • 国外申请域名的网站CC wordpress 攻击
  • 能发外链的网站中国机械加工网加热炉节能
  • 个人网站推广 公司网站地址栏小图标
  • 网站 如何 备案营销型网站建设便宜
  • 从网上怎么做网站营销做算命类网站违法吗?
  • 口碑好的网站开发公司哪家最专业网站优化关键词是怎么做的
  • 一级a做爰片免费网站天天看专业网站建设公司推荐
  • 套模版做的网站好优化吗win10系统优化软件
  • 红酒营销 网站建设网站建设多少钱一年
  • 公众号注册入口官网seo排名的影响因素有哪些
  • 化妆品网站素材wordpress广告插件中文
  • 设计iphone手机网站网站开发怎么才能接到私活
  • 做网站美工排版提升学历英语翻译
  • 旅游网站建设服务对象微信第三方做网站需要费用吗
  • 能下载的网站soap公司网站
  • 肇庆网站推广排名花都网页设计
  • 网站后台素材wordpress适用linux
  • 开发一个app大概需要多少钱seo按照搜索引擎的什么对网站
  • 比较好的网站建设公司电话珠海开发网站公司
  • 响应式网站怎么做无缝轮播图网站域名在哪里
  • 大连网站建设设计公司哪家好临海市城乡建设规划局网站
  • 福州商城网站建设网站建设的域名和空间价位
  • 如何做外卖网站网页设计照片
  • 长沙河西做网站自己做的网站怎么设置文件下载
  • 计算机本科论文 网站建设wordpress如何添加关键词和描述
  • div嵌套影响网站收录唐山做网站多少钱