Lc349_Intersection

 1import java.util.HashSet;
2import java.util.Set;
3
4/**
5 * 349. 两个数组的交集
6 * 给定两个数组,编写一个函数来计算它们的交集。
7 * <p>
8 * <p>
9 * <p>
10 * 示例 1:
11 * <p>
12 * 输入:nums1 = [1,2,2,1], nums2 = [2,2]
13 * 输出:[2]
14 * 示例 2:
15 * <p>
16 * 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
17 * 输出:[9,4]
18 * <p>
19 * <p>
20 * 说明:
21 * <p>
22 * 输出结果中的每个元素一定是唯一的。
23 * 我们可以不考虑输出结果的顺序。
24 */

25public class Intersection {
26    /**
27     * 通过hash表实现,因为没有限制大小 所以用集合
28     *
29     * @param nums1
30     * @param nums2
31     * @return
32     */

33    public static int[] intersection(int[] nums1, int[] nums2) {
34        Set<Integer> set = new HashSet<>();
35        Set<Integer> res = new HashSet<>();
36
37
38        for (int i = 0; i < nums1.length; i++) {
39            set.add(nums1[i]);
40        }
41        for (int i = 0; i < nums2.length; i++) {
42            if (set.contains(nums2[i])) {
43                res.add(nums2[i]);
44            }
45        }
46
47
48        int resArray[] = new int[res.size()];
49        int j = 0;
50        for (Integer r : res) {
51            resArray[j++] = r.intValue();
52        }
53
54        return resArray;
55    }
56
57    public static void main(String[] args) {
58        int [] nums1 = {4,9,5}, nums2 = {9,4,9,8,4};
59        intersection(nums1,nums2);
60    }
61}
posted @ 2021-02-05 16:04  小傻孩丶儿  阅读(62)  评论(0编辑  收藏  举报