zoukankan      html  css  js  c++  java
  • 并查集-朋友圈

    package com.child.controller;
    
    public class Test {
    
        public static int[] set;
        //3.component identifier for 0~N-1
        public static int find(int x){
            int i,j;
            int r = x;//所属队营,向上一层查找,
            while(set[r] != r){
                r = set[r];
            }
            i = r;
            while(set[i] != r){
                j = set[i];
                set[i] = r;
                r = j;
            }
            return r;
            
        }
        public static void union(int p,int q){
            int t = find(p);    
            int h = find(q);
            if(t < h)    
            {  
                set[h] = t;    
            }  
            else    
            {  
                set[t] = h;    
            }  
        }
        public static int friends(int m,int[][] r){
            //1.初始化set集合
         //初始化时,每个元素所属阵营为自己
    set = new int[m+1]; for(int i=1;i<=m;i++){ set[i] = i; } //2.add connection between q and p for(int i=0;i<r.length;i++){ union(r[i][0],r[i][1]); } int count = 0; for(int i = 1 ; i <= m ; ++i) { if(set[i] == i) { ++count; } } return count; } public static void main(String[] args) { // TODO Auto-generated method stub int n=5; int a[][]={{1,2},{2,3},{4,5},{2,4}}; System.out.println(friends(5,a)); } }
  • 相关阅读:
    读文章论文
    安装并使用SourceMonitor检测代码复杂度
    FindBug安装与使用
    PMD安装与使用
    Checkstyle安装与使用
    文章主题
    GitHub账号
    PICT的安装与使用
    Junit的安装与使用
    SourceMonitor的安装及使用
  • 原文地址:https://www.cnblogs.com/hfczgo/p/4862734.html
Copyright © 2011-2022 走看看