039 · Intersection of Two Arrays

algorithm
Published

June 18, 2026

Problem

给定两个整数数组 nums1nums2

请返回:两个数组的交集。

这里的“交集”指的是:同时出现在 nums1nums2 中的数字。

注意,答案中的每个数字只能出现一次。返回结果的顺序不重要。

例如:

nums1 = [1, 2, 2, 1]
nums2 = [2, 2]

数字 2 同时出现在两个数组里,所以交集是:

[2]

虽然 2 在两个数组里都出现了多次,但答案里只需要保留一个 2

再比如:

nums1 = [4, 9, 5]
nums2 = [9, 4, 9, 8, 4]

数字 49 都同时出现在两个数组里,所以可以返回:

[9, 4]

也可以返回:

[4, 9]

因为题目不要求固定顺序。

Examples

示例 1

Input:  nums1 = [1, 2, 2, 1], nums2 = [2, 2]
Output: [2]

解释:两个数组都包含 2,并且答案里不能重复放入同一个数字。

示例 2

Input:  nums1 = [4, 9, 5], nums2 = [9, 4, 9, 8, 4]
Output: [9, 4]

解释:49 都出现在两个数组中。输出 [4, 9] 也可以。

示例 3

Input:  nums1 = [1, 3, 5], nums2 = [2, 4, 6]
Output: []

解释:两个数组没有共同的数字,所以返回空数组。

Constraints

  • \(1 \leq\) nums1.length, nums2.length \(\leq 1000\)
  • \(0 \leq\) nums1[i], nums2[i] \(\leq 1000\)