您的位置:首页 > 编程语言 > Java开发

【Leetcode】349. Intersection of Two Arrays

2016-07-17 17:33 381 查看
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)将一个数组nums1放到HashSet中。遍历数组nums2中的元素,判断是否存在于该hashset中,如果存在就添加到结果集并且删除set中的条目。
(2)将nums1,nums2都放到HashSet中,遍历其中一个,获得结果集。

代码:
public class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
HashSet<Integer> set = new HashSet<Integer>();
for(int i=0;i<nums1.length;i++)
set.add(nums1[i]); //遍历增加
List<Integer> resultList = new ArrayList<Integer>();
for (int i=0;i<nums2.length;i++)
if(set.contains(nums2[i])){
resultList.add(nums2[i]);
set.remove(nums2[i]); //记得删除
}
int result[] = new int[resultList.size()];
for(int i=0;i<resultList.size();i++)
result[i]=resultList.get(i);
return result;

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hashmap leetcode java