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

上一篇下一篇

猜你喜欢

热点阅读