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); } } }
点赞 评论

相关推荐

不愿透露姓名的神秘牛友
07-16 18:05
何尝不是一种学历歧视呢
下午吃泡馍:这种公司不投也罢,不过建议挂出公司名字,1.1w就应激到问是不是清北也是看得出来不是啥好公司了,估计这hr也没见过啥世面
点赞 评论 收藏
分享
弦五Strings:他之所以会举报你代课是因为在这种人眼里正常上课就是正义代课就是邪恶,典型二极管思维,处理方法就是私下沟通,你就说你自己家里经济困难或者家里父母生病什么之类的,需要去打工挣钱,用尽孝的正义对冲他认为的上课的正义,他可能就妥协了。
我的实习日记
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务