美文网首页
LeetCode真题349:给定两个数组,编写一个函数来计算它们

LeetCode真题349:给定两个数组,编写一个函数来计算它们

作者: 暖男Gatsby | 来源:发表于2020-03-02 18:01 被阅读0次

示例 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),因此常与二分法并列为查询一个数的最佳方法

相关文章

网友评论

      本文标题:LeetCode真题349:给定两个数组,编写一个函数来计算它们

      本文链接:https://www.haomeiwen.com/subject/fbfbkhtx.html