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

廊坊优化网站排名如何制作课程网站模板下载地址

廊坊优化网站排名,如何制作课程网站模板下载地址,51网页游戏官网,网站建设公司专业网站开发研发目录#xff1a; 并查集的概念代码实现 LeetCode例题 并查集的概念 将n个不同的元素划分成一些不相交的集合。开始时#xff0c;每个元素自成一个单元元素集合#xff0c;然后按一定的规律将归于同一组元素的集合合并。在此过程中反复遇到查询某一个元素属于那个集合的运算… 目录 并查集的概念代码实现 LeetCode例题 并查集的概念 将n个不同的元素划分成一些不相交的集合。开始时每个元素自成一个单元元素集合然后按一定的规律将归于同一组元素的集合合并。在此过程中反复遇到查询某一个元素属于那个集合的运算这种抽象的数据类型称为并查集。 主要思想用集合中的一个元素代表集合。 代码实现 #includeiostream #includevector class UnionFindSet { public:UnionFindSet(size_t n)//构造函数:_ufs(n,-1){}void Union(int x1,int x2)//合并根{int root1 FindRoot(x1);int root2 FindRoot(x2);if (root1 root2)//如果本身在一个集合就没必要合并了 return;_ufs[root1] _ufs[root2];//2个下标相加_ufs[root2] root1;//存一下根的下标}int FindRoot(int x)//查找根{ int parent x;while (_ufs[parent] 0)//说明不是根{parent _ufs[parent];}return parent;//f返回的编号是负数就是根}bool InSet(int x1, int x2){return FindRoot(x1) FindRoot(x2);//相等说明同一个根在同一个集合}size_t SetSize()//有几个集合{size_t size 0;for (size_t i 0; i _ufs.size(); i){if (_ufs[i] 0)//判断有几个负数就有几个集合,因为负数是根{size;}}return size;}private:vectorint _ufs;//编号找人 };LeetCode例题 例题一 116. 省份数量 有 n 个城市其中一些彼此相连另一些没有相连。如果城市 a 与城市 b 直接相连且城市 b 与城市 c 直接相连那么城市 a 与城市 c 间接相连。省份是一组直接或间接相连的城市组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected 其中 isConnected[i][j] 1 表示第 i 个城市和第 j 个城市直接相连而 isConnected[i][j] 0 表示二者不直接相连。返回矩阵中省份的数量。 示例 1 输入isConnected [[1,1,0],[1,1,0],[0,0,1]] 输出2 示例 2 输入isConnected [[1,0,0],[0,1,0],[0,0,1]] 输出3 提示 1 n 200 n isConnected.length n isConnected[i].length isConnected[i][j] 为 1 或 0 isConnected[i][i] 1 isConnected[i][j] isConnected[j][i] 代码解答 class Solution { public:int findCircleNum(vectorvectorint isConnected) {vectorint ufs(isConnected.size(),-1);//手动函数auto findRoot[ufs](int x){while(ufs[x]0)//是负数才是根xufs[x];return x; };for(size_t i0;iisConnected.size();i){for(size_t j0;jisConnected[i].size();j){if(isConnected[i][j]1){//合并集合int root1findRoot(i);int root2findRoot(j);if(root1!root2){ufs[root1]ufs[root2];ufs[root2]root1;//root2变成root1的孩子,root2的下标存的是root1是0}}}}int n0;for(auto e: ufs){if(e0)n;}return n;} };例题二 990. 等式方程的可满足性 给定一个由表示变量之间关系的字符串方程组成的数组每个字符串方程 equations[i] 的长度为 4并采用两种不同的形式之一“a等于b” 或 “a!b”。在这里a 和 b 是小写字母不一定不同表示单字母变量名。只有当可以将整数分配给变量名以便满足所有给定的方程时才返回 true否则返回 false。 代码解答 class Solution { public:bool equationsPossible(vectorstring equations) {vectorint ufs (26,-1);//26个字母的映射关系auto findRoot[ufs](int x){while(ufs[x]0)xufs[x];return x;};for(auto str: equations){if(str[1]){int root1findRoot(str[0]-a);int root2findRoot(str[3]-a);if(root1!root2){ufs[root1]ufs[root2];ufs[root2]root1;//root2变成root1的孩子} }} //判断不相等的在不在一个集合在就相悖并返回falsefor(auto str: equations){if(str[1]!){int root1findRoot(str[0]-a);int root2findRoot(str[3]-a);if(root1root2){return false;} }}return true;} };
http://www.hkea.cn/news/14358233/

相关文章:

  • 赔率网站怎么做网站建设带主机
  • 建设银行招标网站中国兰州
  • wap网站和internet网站wordpress会员可看
  • 邢台网站维护做网站闵行
  • 怎么免费制作网站平台如何做资金盘网站
  • 简述网站开发技术酒店网站开发需求文档
  • wordpress js_composer英文网站seo方案
  • 旅行社网站模版平面设计用到的软件有哪些
  • 网站开发的前台开发工具西部数码网站管理控制面板
  • 织梦游戏网站模板编写网站 支付宝
  • 网站开发如何共用菜单栏高端简约30平米办公室装修
  • 网站网警备案流程网站监控系统
  • 公司网站建设华为六安人论坛最新招聘
  • vs2017网站开发教程长春网站建设联系吉网传媒优
  • 淄博云天网站建设推广网站设计工具有哪些
  • a站是哪个app佛山电子商务网站建设
  • 有域名建网站网站规划建设与管理维护的论文
  • 温州模板建站公司wordpress 导出数据库
  • dedecms 门户网站制作福州网站建站建设
  • 织梦网站后台建设网站能赚钱吗
  • 个人网站怎么进后台柳州seo培训
  • 深圳品牌网站建设服务做seo是什么意思
  • 易班网站的建设内容最差网站设计
  • 用php建设一个简单的网站如何让百度快速收录
  • 建设网站推广文案怎么制作网页快捷方式
  • 长春设计网站ppt欢迎页面模板
  • 网站建设英文字体做一些网站犯法么
  • 手机网站和app的区别建站智能模板
  • 徐州市建设局网站电话号码高档手表网站
  • 取消网站备案号北京网页制作公司