有效的括号—LeetCode20

发布于 — 2019 年 08 月 07 日
#LeetCode

题目描述

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

示例 1:

输入: nums1 = \[1,2,2,1], nums2 = \[2,2]
输出: \[2]

示例 2:

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

说明:

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

解题思路

求两个数组中的交集,我们先将nums1放到set1中,然后对nums2遍历,如果存在于set1中则将其添加到set2中,最后需要将set转换为数组返回。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
public int[] intersection(int[] nums1, int[] nums2) {
  Set<Integer> set1 = new HashSet<Integer>();
  for (int item : nums1) {
    set1.add(item);
  }
  Set<Integer> set2 = new HashSet<Integer>();
  for (int item : nums2) {
    if (set1.contains(item)) {
      set2.add(item);
    }
  }
  int[] result = new int[set2.size()];
  int index = 0;
  for (Integer integer : set2) {
    result[index++] = integer;
  }
  return result;
}

相关题目