算法题第11题-----两个数组的交集,难度(简单)

题目

给定两个数组,编写一个函数来计算它们的交集。

示例

输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]

说明

1.输出结果中的每个元素一定是唯一的。
2.我们可以不考虑输出结果的顺序。

题解

class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
    HashSet<Integer> set1 = new HashSet<Integer>();//如果数据量大,应当考虑使用TreeSet
    for (Integer n : nums1) set1.add(n);
    List<Integer> list = new ArrayList<Integer>();
    for (Integer n : nums2) {
        if(set1.contains(n)){
            list.add(n);
            set1.remove(n);
        }
    }
    int[] output =new int[list.size()];
    for(int i=0;i<list.size();i++){
         output[i]=list.get(i);
    }
    return output;
  }
}

猜你喜欢

转载自blog.csdn.net/qq_38941937/article/details/103177397