美文网首页
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