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

Intersection of Two Arrays

2016-06-22 09:52 531 查看
Given two arrays, write a function to compute their intersection.

 Notice

Each element in the result must be unique.

The result can be in any order.

Have you met this question in a real interview? Yes

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

public int[] intersection(int[] nums1, int[] nums2) {
// Write your code here
int count = 0;
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
List<Integer> reslist = new ArrayList<Integer>();
for(int num:nums1){
// if(map.containsKey(num)){
// count = map.get(num);
// count+=1;
// map.put(num, count);
// }else{
map.put(num, 1);
// }
}
for(int num:nums2){
if(map.containsKey(num)){
count = map.get(num);
count-=1;
if(count==0){
map.remove(num);
}else{
map.put(num,count);
}
reslist.add(num);
}
}
int res[] = new int[reslist.size()];
for(int i = 0;i<res.length;i++){
res[i] = reslist.get(i);
}

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