关注
public void findFriend(String s, List<List<Integer>> pairs) {
int n = s.length();
int[] father = new int[n];
/*记录秩*/
int[] rank = new int[n];
for(int i = 0; i < n; i++) {
father[i] = i;
rank[i] = 1;
}
for(List<Integer> pair : pairs) {
union(pair.get(0),pair.get(1),father,rank);
}
char[] sChar = s.toCharArray();
/*key : 根节点 Value: 这个根节点的连通分量*/
Map<Integer,Queue<Character>> map = new HashMap();
for(int i = 0; i < n; i++) {
int root = find(i,father);
if(map.containsKey(root)) {
map.get(root).offer(sChar[i]);
} else{
Queue<Character> queue = new LinkedList<>();
queue.offer(sChar[i]);
map.put(root,queue);
}
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的求职总结 #
12714次浏览 226人参与
# 辞职之后最想做的一件事 #
8068次浏览 87人参与
# 毕业季,给职场新人一些建议 #
11999次浏览 221人参与
# 选offer应该考虑哪些因素 #
10085次浏览 135人参与
# 我的实习日记 #
2418138次浏览 25273人参与
# 工作后会跟朋友渐行渐远吗 #
20625次浏览 159人参与
# 你小时候最想从事什么职业 #
90253次浏览 1690人参与
# 你想留在一线还是回老家? #
36465次浏览 439人参与
# 薪资爆料 #
102108次浏览 1039人参与
# 毕业后不工作的日子里我在做什么 #
167882次浏览 1484人参与
# 设计人如何选offer #
108105次浏览 707人参与
# 生物制药/化工校招攻略 #
42710次浏览 282人参与
# 比亚迪求职进展汇总 #
703509次浏览 3060人参与
# 第一份工作应该只看薪资吗 #
136959次浏览 1439人参与
# 你们公司哪个部门最累? #
14496次浏览 123人参与
# 你们的毕业论文什么进度了 #
1014296次浏览 9513人参与
# 秋招想进国企该如何准备 #
56748次浏览 363人参与
# 招聘要求与实际实习内容不符怎么办 #
98249次浏览 718人参与
# 工作中的卑微时刻 #
8840次浏览 54人参与
# 大学最后一个寒假,我想…… #
35559次浏览 454人参与