leetcode的题目350. 两个数组的交集 II

给定两个数组,写一个方法来计算它们的交集。

例如:

给定 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].

注意:

输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。

思路:先将集合数组进行排序,然后定义一个新的集合数组(长度与数组1相同)用于装返回结果,定义三个下标变量,从两个数组的第一个元素开始遍历,相同就将该元素的值赋给新数组,三个下表变量同时加1,否则,当数组1的元素小于数组2的元素时,数组1的下标加1,否则数组2加1.最后将返回数据的个数进行处理,因为result数组的长度是与nums1相同的,但是相同元素的个数可能小于nums1的个数,而只有t个

思路2:先将集合数组进行排序,然后定义一个新的空集合数组用于装返回结果,定义三个下标变量,从两个数组的第一个元素开始遍历,相同就将该元素的值插入新数组,三个下表变量同时加1,否则,当数组1的元素小于数组2的元素时,数组1的下标加1,否则数组2加1.


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,894评论 2 9
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,509评论 3 44
  • 今天是我读《小说写作教程》的第三天,我兑现了我昨天的诺言,利用星期天工作不太忙的机会把这本书看完了。 我竟然读了1...
    许瑞光阅读 394评论 0 0
  • 不负光阴便是最好的努力, 努力成为最好的自己。 古人云,愿得一人心白首不相离, 而如今,沉浸在梦里, 梦醒时,满脸...
    lemei阅读 347评论 3 4
  • 杀人需要理由吗? 对普通人而言,即使有理由也不能随便杀人,平时只能依靠法律来伸冤,即使到了战场上...
    老Q矢志读完廿四史阅读 176评论 0 0