news 2026/4/17 20:45:53

并查集的实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
并查集的实现


代码求解

father数组: 每个集合元素往上的指针,下标对应节点编号,初始时每个节点指向自己。

size数组:记录每个集合的大小,初始时每个集合大小为1。

stack数组 : 用于扁平化过程中收集沿途节点。

publicstaticintMAXN=1000001;publicstaticint[]father=newint[MAXN];publicstaticint[]size=newint[MAXN];publicstaticint[]stack=newint[MAXN];publicstaticintn;publicstaticvoidbuild(){for(inti=0;i<=n;i++){father[i]=i;size[i]=i;}}publicstaticintfind(inti){intsize=0;while(i!=father[i]){stack[size++]=i;i=father[i];}while(size>0){father[stack[--size]]=i;}returni;}publicstaticbooleanisSameSet(intx,inty){returnfind(x)==find(y);}publicstaticvoidunion(intx,inty){intfx=find(x);intfy=find(y);if(fx!=fy){if(size[fx]>=size[fy]){size[fx]+=size[fy];father[fy]=fx;}else{size[fy]+=size[fx];father[fx]=fy;}}}publicstaticvoidmain(String[]args)throwsIOException{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));StreamTokenizerin=newStreamTokenizer(br);PrintWriterout=newPrintWriter(newOutputStreamWriter(System.out));while(in.nextToken()!=StreamTokenizer.TT_EOF){n=(int)in.nval;build();in.nextToken();intm=(int)in.nval;for(inti=0;i<m;i++){in.nextToken();intop=(int)in.nval;in.nextToken();intx=(int)in.nval;in.nextToken();inty=(int)in.nval;if(op==1){out.println(isSameSet(x,y)?"Yes":"No");}else{union(x,y);}}}out.flush();out.close();br.close();}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 17:25:14

Leetcode839相似字符串组

题目分析 从0~n-1遍历单词&#xff0c;每个单词与后续单词进行比较&#xff0c;如果不在同一集合且相似则合并。 遍历两个字符串&#xff0c;记录不同位置的数量&#xff0c;如果不同位置的数量在2个以内则相似&#xff0c;超过了2个则不相似。 求解代码 public static int MAX…

作者头像 李华
网站建设 2026/4/18 9:10:57

终极英语发音MP3下载方案:解决119,376个单词发音难题

终极英语发音MP3下载方案&#xff1a;解决119,376个单词发音难题 【免费下载链接】English-words-pronunciation-mp3-audio-download Download the pronunciation mp3 audio for 119,376 unique English words/terms 项目地址: https://gitcode.com/gh_mirrors/en/English-wo…

作者头像 李华
网站建设 2026/4/18 10:08:03

Lizard:代码复杂度的智能检测专家

Lizard&#xff1a;代码复杂度的智能检测专家 【免费下载链接】lizard A simple code complexity analyser without caring about the C/C header files or Java imports, supports most of the popular languages. 项目地址: https://gitcode.com/gh_mirrors/li/lizard …

作者头像 李华
网站建设 2026/4/18 8:08:45

3分钟掌握Ant Design X Vue:构建智能AI对话界面的完整指南

3分钟掌握Ant Design X Vue&#xff1a;构建智能AI对话界面的完整指南 【免费下载链接】ant-design-x-vue Ant Design X For Vue.&#xff08;WIP&#xff09; 疯狂研发中&#x1f525; 项目地址: https://gitcode.com/gh_mirrors/an/ant-design-x-vue 在AI技术快速发展…

作者头像 李华
网站建设 2026/4/18 5:39:05

Ant Design X Vue终极指南:5步构建企业级AI对话应用

Ant Design X Vue终极指南&#xff1a;5步构建企业级AI对话应用 【免费下载链接】ant-design-x-vue Ant Design X For Vue.&#xff08;WIP&#xff09; 疯狂研发中&#x1f525; 项目地址: https://gitcode.com/gh_mirrors/an/ant-design-x-vue 在AI技术重塑用户体验的…

作者头像 李华
网站建设 2026/4/18 5:21:27

树莓派课程设计小项目实现远程控制LED实战案例

从零开始&#xff1a;用树莓派实现远程控制LED的完整实战指南你有没有想过&#xff0c;只靠几行Python代码和一块百元级的小板子&#xff0c;就能让家里的灯在千里之外被点亮&#xff1f;这听起来像科幻片的情节&#xff0c;但在物联网时代&#xff0c;它早已成为现实。今天我们…

作者头像 李华