leetcode每日一题(2020-07-13):350. 两个数组的交集 II

2021-04-19 06:26

阅读:522

标签:info   ram   数组的交集   双指针   etc   一个   今日学习   指针   return   

题目描述:
给定两个数组,编写一个函数来计算它们的交集。
技术图片

今日学习:
1.啊!美好的简单题!

题解:
1.暴力法,开始居然忘了indexOf
2.暴力法,利用indexOf一次循环
3.排序法,双指针移动
4.hash法,列出较短数组元素的出现次数,遍历较长数组去比较

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
//暴力法1
var intersect = function(nums1, nums2) {
    let res = []
    if(nums1.length > nums2.length) {
        [nums1, nums2] = [nums2, nums1]
    }
    for(let i = 0; i  nums2.length) {
        [nums1, nums2] = [nums2, nums1]
    }
    for(let i = 0; i  a - b);
    nums2 = nums2.sort((a, b) => a - b);
    const res = [];
    for(let i = 0, j = 0;i  nums2[j]) {
            j++;
        } else if (nums1[i]  nums2.length) {
        [nums1, nums2] = [nums2, nums1]
    }
    let nums1Map = new Map()
    for(let i = 0; i 

leetcode每日一题(2020-07-13):350. 两个数组的交集 II

标签:info   ram   数组的交集   双指针   etc   一个   今日学习   指针   return   

原文地址:https://www.cnblogs.com/autumn-starrysky/p/13291882.html


评论


亲,登录后才可以留言!