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

Intersection of Two Arrays

2016-07-14 22:29 417 查看
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.

计算两个集合的交集,最简单的用的是Java里的HashSet然而效率好像并不怎么高~有待提高吧~~

public class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
HashSet hashSet1 = new HashSet();
HashSet hashSet2 = new HashSet();
for(int i = 0 ; i< nums1.length; i++)
{
Integer num = new Integer(nums1[i]);
hashSet1.add(num);
}
for(int i = 0; i< nums2.length;i++)
{
Integer num = new Integer(nums2[i]);
hashSet2.add(num);
}
Iterator it1 = hashSet1.iterator();
HashSet<Integer> hashSet3 = new HashSet<Integer>();
while(it1.hasNext()){

int temp1=(int) it1.next();
Iterator it2 = hashSet2.iterator();
while(it2.hasNext()){
int temp2 = (int) it2.next();
if(temp1==temp2)
{
hashSet3.add(new Integer(temp1));
}
}
}
int arr[] = new int[hashSet3.size()];
int i = 0;
Iterator it3 = hashSet3.iterator();
while(it3.hasNext()){
arr[i++]=(int) it3.next();
}
return arr;

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