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 <= 10000 <= 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