LeetCode Notes: Intersection of Two Arrays
Question
Given two integer arrays nums1
and nums2
, return an array of their intersection. Each element in the result must be unique and you may return the result in any order.
Example 1:
Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2]
Example 2:
Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
Output: [9,4]
Explanation: [4,9] is also accepted.
Constraints:
1 <= nums1.length, nums2.length <= 1000
0 <= nums1[i], nums2[i] <= 1000
Solution
Analysis:
- Loop one of the arrays to determine whether each number is contained in the other array
- Store each included number and remove the duplicates at the end
Code:
/**
* @param {number[]} nums1
* @param {number[]} nums2
* @return {number[]}
*/
var intersection = function(nums1, nums2) {
// Store the result
const res = []
// loop the first array
nums1.forEach((n)=>{
// Find numbers in the second array that are also in the first array
if(nums2.includes(n)){
res.push(n)
}
})
// deduplication
return [...new Set(res)]
};
Comments