首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    个数组的交集?如果个数组是有序的呢?

    第350题:给定个数组,编写一个函数来计算它们的交集。 ? 给定个数组,编写一个函数来计算它们的交集。...= [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [4,9] 说明: 输出结果中每个元素出现的次数,应与元素在个数组中出现的次数一致...首先拿到这道题,我们基本马上可以想到此题可以看成是一道传统的映射题(map映射),为什么可以这样看呢,因为我们需找出个数组的交集元素,同时应与个数组中出现的次数一致。...我们分析一下,假如个数组都是有序的,分别为:arr1 = [1,2,3,4,4,13],arr2 = [1,2,3,9,10] ?...如果个指针的元素不相等,我们将小的一个指针前移。 ? 反复以上步骤。 ? 直到任意一个数组终止。 ?

    1.4K40

    个数组的交集

    个数组的交集 给定个数组,编写一个函数来计算它们的交集。...nums1,对于其中的每个元素,遍历数组nums2判断该元素是否在数组nums2中,如果存在,则将该元素添加到返回值,这样的方式时间复杂度是O(mn),在这里使用排序加双指针的方式,首先对于个数组分别进行排序...,之后分别对于个数组设立指针进行遍历,对比个指针所指向的元素,较小的值的指针后移,如果相等则判断是否已经在目标数组中,不在则将其推入数组,之后同时将个指针后移,最终返回目标数组即可。...首先将个数组分别从小到大进行排序,之后定义目标数组target,以及个指针i、k与个数组的长度n1、n2,定义循环,在个指针分别小于其指向的目标数组的长度下执行循环,如果i指针指向的值小于k指针指向的值...,将i指针后移,如果大于则将k指针后移,如果相等则首先得到目标数组的最后一个值的索引,当然在数组为空的情况下会得到-1,在Js中会取得undefined值,在下方比较时不会相等,之后比较最后一个值是否与此时指针指向的值相等

    1.3K30
    领券