LeetCode真题349:给定两个数组,编写一个函数来计算它们
2020-03-02 本文已影响0人
暖男Gatsby
示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2],
输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]
var intersection = function(nums1, nums2) {
var hash1 = new Set(nums1);//定义哈希数组
var hash2 = new Set();
for(var i=0;i<nums2.length;i++){
if(hash1.has(nums2[i])){
hash2.add(nums2[i])
}
}
return [...hash2];//返回数组
};
简洁明了,时间复杂度O(m+n)
哈希表查询某个元素只需要O(1)的操作,英雌遍历了两个数组的时间复杂度为O(m+n),因此常与二分法并列为查询一个数的最佳方法