分享完全多部图-非常简单的思路

刚才第一次发帖,我忘记题目了,现在修改了一下。。。哈哈哈


题目:同一个集合里面不能连通,不同集合里面必须连通

基本思路:如果1和3. 4.  5不连通,那么3  4  5之间一定不能连通!否则,不是完全多部图

我们只需对每个节点进行上述判断就可以了


public class Main {
     public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int t = scanner.nextInt();
for(int i=0;i<t;i ) {
int n = scanner.nextInt();
int m = scanner.nextInt();
int[][] graph = new int[n 1][n 1];
for(int j=0;j<m;j ) {
int A = scanner.nextInt();
int B = scanner.nextInt();
graph[A][B] = 1;
graph[B][A] = 1;
}
int k = 0;
for( k=1;k<=n;k ) {
List<Integer> temp = new ArrayList<>();
for(int h=1;h<=n;h ) {
if(k==h) continue;
if(graph[k][h]!=1) temp.add(h);
}
if(isValid(graph,temp)==false) {
System.out.println("No");
break;
}
}
if(k>n) System.out.println("Yes");
}
}
     private static boolean isValid(int[][] graph,List<Integer> list) {
        for(int i=0;i<list.size();i ) {
           for(int j=i 1;j<list.size();j ) {
              if(graph[list.get(i)][list.get(j)]==1) return false;
           }
        }
        return true;
     }
}
#京东##Java工程师#
全部评论
第一次发帖的时候,说反了😂浪费大家时间了。。。
点赞 回复 分享
发布于 2018-09-10 09:46
感觉 JD 的编程题时间复杂度没有太大要求
点赞 回复 分享
发布于 2018-09-10 09:48
对于你的基本假设,实际上应该是1和3,4,5不联通,那么与1连通的集合等于分别与345联通的集合
点赞 回复 分享
发布于 2018-09-10 10:38

相关推荐

沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务