解决省份问题

news/2024/11/8 12:43:22/

Provincial problem

问题

给定一个二维数组 vector<vector<int>> arr,arr[i][j]= 1表示 i 省和 j 省相连,0 则不相连,求省份个数(相连的省叫做省份)

数据

vector<int> ufs 用于模拟并查集

思路

相连则合并,最终统计

实现

int GetProvince(vector<vector<int>>& arr)
{vector<int> ufs(arr.size(),-1);auto FindRoot = [&ufs](int x){while(ufs[x] >= 0){x = usf[x];}return x;};for(int i = 0;i < arr.size();i++){for(int j = 0;j < arr[i].size();j++){if(arr[i][j]){int root1 = FindRoot(i);int root2 = FindRoot(j);if(root1 != root2){ufs[root1] += usf[root2];usf[root2] = root1; }}}}int res = 0;for(auto num:ufs){if(num < 0) res++;}return res;
}

总结

这是不用库函数的做法,实际两者的思想都一样


http://www.ppmy.cn/news/97825.html

相关文章

【Dubbo核心 详解五】Dubbo 服务治理详解

引言 当前&#xff0c;分布式服务在互联网行业中得到了广泛应用。然而&#xff0c;分布式服务不仅仅是将单个应用程序分割成不同的模块&#xff0c;还涉及到模块之间的相互合作和协作。 服务治理是分布式服务的一个关键问题&#xff0c;因为它可以帮助开发人员管理不同的服务…

2023软件设计师上午题答案

1 cpu 主存 外设 2 物理物理地址 ❌ 3 4 4 中断程序入口 5 与真值对应❌ 6 2003 7 表示层 8 会话 公钥❌ 9 不信任 10 阻止网络攻击❌ 11 流氓软件❌ 12 署名 13 版权 14 继承所有权利 ❌ 15 加工要具体说明 16 集中化 17 E 18 23 19 28条 20 a为true 21 1不能连续 22 39&#…

Midjourney AI绘画咒语与生成的作品(实例)

据说Midjourney出来后&#xff0c;有一大批设计师抱着电脑&#xff0c;哭晕了~~ 有兴趣的朋友&#xff0c;可以看一下我前两天发的&#xff0c;地址如下&#xff1a; Midjourney AI绘画中文教程详解&#xff08;完整版&#xff09;模型、命令、参数与各种高级用法https://blog…

8.3:加强堆的应用

8.3&#xff1a;加强堆的应用 题目要求&#xff1a; 做一个加强堆的题目&#xff0c;给定一个整型数组&#xff0c;int[] arr&#xff1b;和一个布尔类型数组&#xff0c;boolean[] op 两个数组一定等长&#xff0c;假设长度为N&#xff0c;arr[i]表示客户编号&#xff0c;op…

C++ [STL之list的使用]

本文已收录至《C语言和高级数据结构》专栏&#xff01; 作者&#xff1a;ARMCSKGT 前言 vector是一片连续的空间&#xff0c;在数据访问上性能较好&#xff0c;但是任意位置插入删除性能较低&#xff0c;头插头删性能亦是如此&#xff1b;此时在这种需要频繁插入的场景下&…

TA-lib第三方库安装问题

因为学习的需要&#xff0c;用到Talib库做写指标分析&#xff0c;但是百度了好久&#xff0c;说是去要某某网站下载对应版本的文件进行本地安装&#xff0c;但是把…404 Not found 然后通过查找&#xff0c;Ta-lib库的安装已经迁移到这里了 https://github.com/TA-Lib/ta-lib-p…

三秒教会你如何使用scrcpy手机无线投屏到电脑

简介 scrcpy 是一款免费开源的投屏软件&#xff0c;可以将安卓手机屏幕投放在 Windows、macOS、GNU/Linux 上&#xff0c;并可以直接使用鼠标在投屏窗口中进行交互和录制。此应用程序镜像通过 USB 或TCP/IP连接的 Android 设备&#xff08;视频和音频&#xff09;&#xff0c;并…

如何理解ORB_SLAM2算法中一个特征点在y方向的位置是以金字塔尺度为半径的多行中?

文章目录 首先看下vRowIndices里面存储了什么?右图像的坐标系右图上每个图像金字塔中提取到的特征点数据经过处理后每行中有多少个特征点每个特征点分别属于那些行?左目特征点的后选匹配点讲一下代码实现的细节算法原理vector<vector<size_t> > vRowIndices(nRow…