力扣 两个数组的交集

题目描述

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

示例 1:

输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
示例 2:

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]

说明:

输出结果中的每个元素一定是唯一的。
我们可以不考虑输出结果的顺序。

要点分析

将数组排序后去重,然后遍历数组找出共同元素即可

难点在于unique函数, sort函数以及erase函数的应用

unique函数: 将相邻的元素中重复的部分移动到vector的尾部

erase函数: 去除元素

sort函数: 进行排序

AC代码:

class Solution {public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {//传入的是首地址和尾地址sort(nums1.begin(),nums1.end());sort(nums2.begin(),nums2.end());nums1.erase(unique(nums1.begin(), nums1.end()), nums1.end());nums2.erase(unique(nums2.begin(),nums2.end()),nums2.end());vector<int>ans;for(int i=0,j=0;i<nums1.size()&&j<nums2.size();){if(nums1[i]==nums2[j]){ans.push_back(nums1[i]);i++;j++;}else if (nums1[i]<nums2[j]){i++;}else if (nums1[i]>nums2[j]){j++;}}return ans;}
};

力扣 两个数组的交集相关推荐

  1. java合并两个数组_「JAVA」两个数组的交集—力扣每日一题(一)

    示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] ...

  2. Leetcode-数据结构-350. 两个数组的交集 II

    问题 给两个整数数组 nums1 和 nums2 ,请以 数组形式 返回两数组的 交集 (其在交集中出现的次数:等于该数字在两个数组中出现次数的最小值). 返回结果中 每个元素出现的次数(for遍历) ...

  3. LeetCode 350. 两个数组的交集 II ntersection of Two Arrays II

    Table of Contents 一.中文版 二.英文版 三.My answer 四.解题报告 一.中文版 给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2 ...

  4. 算法训练Day6 | LeetCode:242. 有效的字母异位词(数组作哈希表);349. 两个数组的交集(Set作哈希表);202.快乐数 (Set作哈希表);1. 两数之和(Map作哈希表)

    目录 LeetCode242. 有效的字母异位词 方法:数组作哈希表 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 Leetcode349. 两个数组的交集 方法一:用Set作HashMa ...

  5. 代码随想录算法训练营第六天|242. 有效的字母异位词,349. 两个数组的交集,202.快乐数,1. 两数之和

    242. 有效的字母异位词 力扣题目链接 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = ...

  6. 力扣练习题(数组中数据反转)

    力扣练习题(数组中数据反转) 要求:int[] arr = {12,23,34,45,56,67,78,89,90}; 变为:int[] arr = {90,89,78,67,56,45,34,23, ...

  7. 双指针解决力扣两/三数之和问题

    双指针解决力扣两/三数之和问题 文章目录 双指针解决力扣两/三数之和问题 一.问题描述 二.分析 1.暴力 2.排序+双指针法 3.hash法 三.问题描述 四.分析 方法一:排序 + 双指针 五.代 ...

  8. 力扣-两数之和 (梦开始的地方)

    力扣-两数之和(梦开始的地方) 来源:力扣网 https://leetcode.cn/problems/two-sum/ 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组 ...

  9. 两个数组的交集 II

    两个数组的交集 II 给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2,2] 示例 2: 输入:nums1 ...

最新文章

  1. MySQL环境配置和入门讲解!
  2. 我个人认为.NET总有开源的一天
  3. Myeclipse启动报错: Invalid 'log4jConfigLocation' parameter
  4. ETCD-节点挂掉会怎样?
  5. SAP销售订单-订单组合
  6. python分糖果_分糖果_平安科技笔试题_牛客网
  7. malloc和new有什么区别
  8. Java 9:欢迎来到Module World
  9. linux重启鼠标键盘服务,Linux 关闭服务后 鼠标 键盘用不了
  10. java泰拉轴距_Java面向对象
  11. 通过mysql实现leader election
  12. 【kafka】kafka BindException: Address already in use 一个失误或者愚蠢的问题
  13. 阿里云智能开放平台团队何登成:解码云计算的 2B 服务基因 | 问底中国 IT 技术演进...
  14. 软件测试面试题 背完面试没问题 亲测
  15. 使用vcpkg安装numcpp与opencv4[contrib,world]
  16. photoshop----剪切蒙版/置入图片
  17. 【方法】如何提高专注能力
  18. 我的大一C++学习笔记
  19. 网易pop3服务器没有响应,网易“封杀”QQ邮箱?POP3服务已关闭
  20. 游戏逆向 修改植物大战僵尸阳光值

热门文章

  1. Yocto tips (17): Yocto License问题:restricted license not whitelisted in LICENSE_FLAGS_WHITELIST
  2. Yocto tips (10): Yocto hellworld 加入一个软件包
  3. Linux 关机/重启/注销命令(7个)
  4. J2EE之初识JSP
  5. Scrum与项目管理亲体验
  6. 学科前沿技术专题第六章
  7. 030、JVM实战总结:G1分代回收原理深度图解:为什么回收性能比传统GC更好?
  8. 【GPORF源码编译】GDB源码编译之gprof交叉编译
  9. 三跨考研浙江大学计算机,在职三跨浙江大学教育硕士333非全日制考研经验贴
  10. mysql for 循环删除_Java增强for循环中删除元素抛异常问题