zoukankan      html  css  js  c++  java
  • 集合合并

    1.集合合并: 给定一个字符串的集合,格式如: {aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh} 要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应 输出 {aaa bbb ccc ddd hhh},{eee fff}, {ggg} 
    (1)请描述你解决这个问题的思路; 
    (2)请给出主要的处理流程,算法,以及算法的复杂度 
    (3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。

    2.集合合并,同时去掉重复的元素,并进行排序

    import java.util.ArrayList;     
      
    import java.util.Arrays;     
      
    import java.util.HashSet;     
      
    import java.util.Iterator;     
      
    import java.util.Set;
    
    public class Test1{
    		public static void main(String[] args){
    			int[] arr1={4,7,5,1,4};
    			int[] arr2={9,3,7,8,0,7,4};
    
    			//set集合是不允许重复的,所以将数组的值放入set集合值,hashSet采用的是散列存储,所以没有顺序
    			Set<Integer> set=new HashSet<Integer>();
    			for (int i=0;i<arr1.length;i++) {
    				set.add(arr1[i]);
    			}
    			for (int j=0;j<arr2.length;j++) {
    				set.add(arr2[j]);
    			}
    			//得到的是不重复的值,Set的长度
    			int num=set.size();
    			System.out.println(num);
    
    			int num2=0;
    			Iterator it=set.iterator();
    			int[] arrays=new int[num];
    			while(it.hasNext()){
    				int a=(Integer)it.next();
    				arrays[num2]=a;
    				num2=num2+1;
    			} 
    			//对集合进行排序,并取出
    			Arrays.sort(arrays);
    			for(int k=0;k<arrays.length;k++){
    				System.out.print(arrays[k]);
    			}
    
    		}
    }
    

      

  • 相关阅读:
    HashMap按键排序和按值排序
    LeetCode 91. Decode Ways
    LeetCode 459. Repeated Substring Pattern
    JVM
    LeetCode 385. Mini Parse
    LeetCode 319. Bulb Switcher
    LeetCode 343. Integer Break
    LeetCode 397. Integer Replacement
    LeetCode 3. Longest Substring Without Repeating Characters
    linux-网络数据包抓取-tcpdump
  • 原文地址:https://www.cnblogs.com/GumpYan/p/5853559.html
Copyright © 2011-2022 走看看