两个数组的交集

简介: 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

class Solution {

public int[] set_intersection(HashSet<Integer> set1, HashSet<Integer> set2) {
    int [] output = new int[set1.size()];
    int idx = 0;
    for (Integer s : set1)
        if (set2.contains(s))
            output[idx++] = s;
    return Arrays.copyOf(output, idx);
}

public int[] intersection(int[] nums1, int[] nums2) {
    HashSet<Integer> set1 = new HashSet<Integer>();
    for (Integer n : nums1) set1.add(n);
    HashSet<Integer> set2 = new HashSet<Integer>();
    for (Integer n : nums2) set2.add(n);

    if (set1.size() < set2.size()) return set_intersection(set1, set2);
    else return set_intersection(set2, set1);
}

}

目录
相关文章
|
7月前
|
Java C++ Python
leetcode-349:两个数组的交集
leetcode-349:两个数组的交集
52 1
【Leetcode -349.两个数组的交集 -350.两个数组的交集Ⅱ】
【Leetcode -349.两个数组的交集 -350.两个数组的交集Ⅱ】
41 0
|
2月前
|
C++
【LeetCode 12】349.两个数组的交集
【LeetCode 12】349.两个数组的交集
19 0
|
7月前
|
C++
两个数组的交集(C++)
两个数组的交集(C++)
46 0
|
7月前
|
C++
两个数组的交集 II(C++)
两个数组的交集 II(C++)
56 0
|
存储 数据处理 数据库
两个数组的交集(C++实现)
两个数组的交集(C++实现)
98 1
|
7月前
|
Java
LeetCode_349. 两个数组的交集
LeetCode_349. 两个数组的交集
59 0
集合的交集、并集和差集
集合的交集、并集和差集
两个数组的交集 II
两个数组的交集 II
69 0