349. Intersection of Two Arrays

Given two arrays, write a function to compute their intersection.

Example:
Given nums1 = [1, 2, 2, 1]nums2 = [2, 2], return [2].

Note:

    • Each element in the result must be unique.
    • The result can be in any order.

题目含义:求两个数组的公共元素(重复多次的只记录一个)

 1     public int[] intersection(int[] nums1, int[] nums2) {
 2         Set<Integer> values = new HashSet<>();
 3         for (int number:nums1) values.add(number);
 4 
 5         Set<Integer> commons = new HashSet<>();
 6         for (int number:nums2)
 7         {
 8             if (values.contains(number)) commons.add(number);
 9         }
10         int[] result = new int[commons.size()];
11         Iterator<Integer> it =  commons.iterator();
12         for (int i=0;i<commons.size();i++)
13         {
14             result[i] = it.next();
15         }
16         return result;     
17     }

 

posted @ 2017-10-23 21:00  daniel456  阅读(100)  评论(0编辑  收藏  举报