Intersection of Two Arrays II

来源:互联网 发布:202z.com最新域名 编辑:程序博客网 时间:2024/05/18 09:30

利用map的键值,,键是数组的值,值存放该数组值在nums1中出现的次数

public int[] intersect(int[] nums1, int[] nums2) {        //可以通过键值对来记录重复的数字有多少个HashMap<Integer, Integer> mp = new HashMap<>();List<Integer> ll = new ArrayList<>();for(int i = 0;i<nums1.length;i++){if(mp.containsKey(nums1[i]))mp.put(nums1[i], mp.get(nums1[i])+1);elsemp.put(nums1[i], 1);}for(int i = 0 ; i<nums2.length;i++){if(mp.containsKey(nums2[i])&&mp.get(nums2[i])>0){ll.add(nums2[i]);mp.put(nums2[i], mp.get(nums2[i])-1);}}int[] res = new int[ll.size()];for(int i = 0;i<ll.size();i++){res[i] = ll.get(i);}return res;    }


0 0
原创粉丝点击