京东完全多部图


import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Scanner;
public class Solution3 {
    private static Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {
        int count = scanner.nextInt();
        for (int i = 0; i < count; i++){
            if (solute()){
                System.out.println("Yes");
            }else {
                System.out.println("No");
            }
        }
    }
    public static boolean solute(){
        int N = scanner.nextInt();
        int M = scanner.nextInt();
        HashMap<Integer, HashSet<Integer>> mapXKey = new HashMap<>();
        HashMap<HashSet<Integer>, HashSet<Integer>> mapSetKey= new HashMap<>();
        //保存每一个节点所连通的节点,存在自己的set中
        for (int i = 0; i < M ; i  ){
            int X = scanner.nextInt();
            int Y = scanner.nextInt();
            mapXKey.putIfAbsent(X, new HashSet());
            mapXKey.putIfAbsent(Y, new HashSet());
            HashSet set = mapXKey.get(X);
            set.add(Y);
            set = mapXKey.get(Y);
            set.add(X);
        }
        //将“连通节点集合(上面的set)”相同的节点,组合到一起,代表一个集合,
        //该集合内的节点互相不连通。该集合作为value,key是该集合内节点都能连通到的节点集合
        for (Map.Entry> entry : mapXKey.entrySet()){
            mapSetKey.putIfAbsent(entry.getValue(), new HashSet());
            mapSetKey.get(entry.getValue()).add(entry.getKey());
        }
       //如果上面的每一个key和value的并集都包含了所有的节点,那么就是yes,否则false
        for (Map.Entry, HashSet> entry : mapSetKey.entrySet()){
            HashSet targets = entry.getKey();
            HashSet items = entry.getValue();
            for (int i = 1; i <= N; i  ) {
                if (!(targets.contains(i) || items.contains(i))){
                    return false;
                }
            }
        }
        return true;
    }
}    

#笔试题目##京东#
全部评论

相关推荐

一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务