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

做网站比较好的软件织梦教育网站模板

做网站比较好的软件,织梦教育网站模板,华为荣耀官网入口,怎么把平台推广出去目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 给我们一个二维数组,表示城市之间的连通情况,连在一起的城市为一个省份,问我们一共有多少个省份。 这…

目录

题目:

示例:

分析:

代码:


题目:

示例:

分析:

给我们一个二维数组,表示城市之间的连通情况,连在一起的城市为一个省份,问我们一共有多少个省份。

这是一道很经典很纯粹的并查集题目。按照我自己的话来说,并查集就是给将相连的元素都设置一个共同的源头,在本题中,我们让相连的城市都有一个共同的源头,那么最后我们统计一下所有城市一共有多少个不同的源头即可确定是有多少个城市了。

这代码就是很标准的并查集模板,大家记住并且理解即可。

首先我们需要定义一个长度和城市数量一样的数组,用来存放每个城市的源头。

并且需要将每个城市的源头初始化成自己。

接着遍历城市之间的连通情况。如果城市之间是连通的,那么我们需要将他们联系在一起,即把他们的源头改成同一个。

首先是先找出他们各自的源头,再把其中一个的源头的源头改成对方的源头。其中找出各自源头这一步是不断寻找源头列表里对应位置,如果一个城市的源头不是自己,那么我们就接着找这个城市的源头的源头,直到找到源头是自己的城市,那么这座城市就是我们需要寻找的城市的最终源头。

这对应了代码中的find函数。

记录完所有城市的连通情况之后,我们再看看所有城市一共有几个最终源头,将最终源头的数量返回出去即可。

代码:

class Solution {
public:int find(int c,vector<int>& city){  //寻源if(c==city[c]) return c;    //自己就是源头,直接返回city[c]=find(city[c],city); //接着往上寻找源头return city[c]; }void join(int i,int j,vector<int>& city){   //添加关系i=find(i,city);j=find(j,city);if(i==j) return;    //如果源头一样returncity[i]=j;  //源头不一样就添加为一样,这边改成city[j]=i也是可以的}int findCircleNum(vector<vector<int>>& isConnected) {vector<int>city(isConnected.size());    //用来记录每个城市的源头for(int i=0;i<isConnected.size();i++) city[i]=i;    //初始化成每个城市都是自己的源头for(int i=0;i<isConnected.size();i++){for(int j=0;j<isConnected.size();j++){if(isConnected[i][j]==1) join(i,j,city);    //如果城市间是相连的,则添加关系为源头一致}}//统计所有城市一共有多少个源头unordered_set<int>res;for(int& c:city){res.insert(find(c,city));}return res.size();}
};

http://www.yayakq.cn/news/360252/

相关文章:

  • 杭州设计企业网站高端公司优化快速排名教程
  • 电子商务网站建设的语言及特点网站被攻击如何处理
  • 制作网站比较大的几家公司dw做的上传网站打不开
  • 现在能用的网站属于网络制作平台的是
  • 商务酒店网站建设广州网站建设c2c
  • 诚信网站的申请有几家公司可以做的公司网站怎么规范管理的
  • 电子商务网站开发系统中国建设银行ie下载网站
  • 企业建站源代码天津网站建设网页设计公司
  • 电子商务毕业设计设计电商网站建设知识网站
  • 网站怎么做友情链接连云港网站关键字优化市场
  • 网站排版怎么做的网络经营许可证查询
  • 无锡做网站优化哪家好支付网站建设费进什么科目
  • 网站开发静态和动态需要证书的建筑公司网站
  • 网站建设的市场调研企业网站建设规划的基本原则
  • wordpress耗内存网站关键字优化工具
  • 帝国网站网站手机版怎么做济南网站开发培训班
  • 江西省建设监督网站关键词排名是什么意思
  • 重庆网站建设mswzjs机关单位特色的网站建设
  • 包装设计征集网站网站公司的客户怎么来
  • 深圳网站系统建设前端小说
  • 服务器怎么添加网站设计师网名创意
  • 图片网站怎么做排名网站建设制作的规划方案
  • 做网站js是什么小企业网站建设哪找
  • 空调网站模版微信怎样将网站的内容做
  • 金华市有网站建设最低价物语系列短篇资源WordPress
  • 网站注册页面模板公司名被注册网站
  • 网站免费推广方法北京软件app开发公司
  • 免费网站安全软件大全wordpress上传doc文件
  • 网站建设好的小型企业网站模板
  • 做网站的是什么职业做零售的外贸网站