当前位置:网站首页>leetcode 547.省份数量 并查集
leetcode 547.省份数量 并查集
2022-08-10 19:06:00 【Alkali!】
题目描述
思路
直接利用并查集的思想即可。
并查集
代码
class Solution {
public:
int findCircleNum(vector<vector<int>>& isConnected) {
vector<int> p(210);
for(int i=0;i<isConnected.size();i++)
p[i]=i; //初始化并查集的数组,每个元素的根节点都为自身,也即没有父结点、根节点,都是独立的
for(int i=0;i<isConnected.size();i++)
for(int j=0;j<isConnected[0].size();j++)
{
if(isConnected[i][j]==1)
{
int a=find(i,p);
int b=find(j,p);
if(a!=b) //如果不是一个集合
p[b]=a; //路径压缩合并
}
}
//怎么计算一共有多少个集合?
int res=0;
for(int i=0;i<isConnected.size();i++)
if(p[i]==i) res++; //只要数一共有多少节点被作为根节点即可,根节点与集合个数一一对应
return res;
}
//路径压缩去查找的同时压缩路径
int find(int x,vector<int>& p)
{
if(x!=p[x]) p[x]=find(p[x],p);
return p[x];
}
};
边栏推荐
- 手把手教你Charles抓包工具使用
- 优雅退出在Golang中的实现
- [教你做小游戏] 只用几行原生JS,写一个函数,播放音效、播放BGM、切换BGM
- IIC通信协议总结[通俗易懂]
- whois information collection & corporate filing information
- 测试/开发程序员值这么多钱么?“我“不会愿赌服输......
- 【SemiDrive源码分析】【MailBox核间通信】51 - DCF_IPCC_Property实现原理分析 及 代码实战
- ARouter使用自定义注解处理器,自动生成跳转Activity的代码,避免手动填写和管理path
- 你不知道的浏览器页面渲染机制
- servlet映射路径匹配解析
猜你喜欢
Linux服务器安装Redis,详细步骤。
【知识分享】在音视频开发领域中SEI到底是个啥?
spark学习笔记(九)——sparkSQL核心编程-DataFrame/DataSet/DF、DS、RDD三者之间的转换关系
常见端口及服务
魔方电池如何“躺赢”?解锁荣威iMAX8 EV“头等舱”安全密码
转铁蛋白修饰长春新碱-粉防己碱脂质体|转铁蛋白修饰共载紫杉醇和金雀异黄素脂质体(试剂)
FEMRL: A Framework for Large-Scale Privacy-Preserving Linkage of Patients’ Electronic Health Rec论文总结
赎金信问题答记
【深度学习前沿应用】图像风格迁移
FPGA:生成固化文件(将代码固化到板子上面)
随机推荐
Keras deep learning combat (17) - image segmentation using U-Net architecture
2816. 判断子序列(双指针)
机器学习|模型评估——AUC
365天挑战LeetCode1000题——Day 053 求解方程 解析 模拟
子域名收集&Google搜索引擎语法
烟雾、空气质量、温湿度…自己徒手做个环境检测设备
30分钟使用百度EasyDL实现健康码/行程码智能识别
YOLOv3 SPP源码分析
一维数组动态和问题答记
小分子PEG CAS:1352814-07-3生物素-PEG6-丙酸叔丁酯
电脑如何去掉u盘写保护的状态
铁蛋白-AHLL纳米颗粒|人表皮生长因子-铁蛋白重链亚基纳米粒子(EGF-5Cys-FTH1)|铁蛋白颗粒包载氯霉素Chloramphenicol-Ferritin
[Teach you how to make a small game] Write a function with only a few lines of native JS to play sound effects, play BGM, and switch BGM
spark学习笔记(九)——sparkSQL核心编程-DataFrame/DataSet/DF、DS、RDD三者之间的转换关系
When selecting a data destination when creating an offline synchronization node - an error is reported in the table, the database type is adb pg, what should I do?
Win11连接投影仪没反应怎么解决?
电脑开不了机是什么原因?
越折腾越好用的 3 款开源 APP
服务器上行带宽和下行带宽指的是什么
MySQL安装步骤