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 }