思路:排序+双指针,也可以用两个set集合,再判断是否相等;

static bool cmp(int a, int b)
{return a < b;
}vector<int> intersection(vector<int> &nums1, vector<int> &nums2)
{int len1 = nums1.size(), len2 = nums2.size();vector<int> res;if (len1 == 0 || len2 == 0){return res;}//排序sort(nums1.begin(), nums1.end(), cmp);sort(nums2.begin(), nums2.end(), cmp);//双指针放入两数组的相同元素for (int i = 0, j = 0; i < len1 && j < len2;){if (nums1[i] == nums2[j]){if (i == 0 && j == 0)//首元素{res.push_back(nums1[i]);}//非首元素的话要保证不与前一个元素相等if ((i > 0 && nums1[i] != nums1[i - 1]) || (j > 0 && nums2[j] != nums2[j - 1])){res.push_back(nums1[i]);}i++;j++;}else if (nums1[i] < nums2[j]){i++;}else{j++;}}return res;
}

Leetcode每日一题:349.intersection-of-two-arrays(两个数组的交集)相关推荐

  1. 349. Intersection of Two Arrays 两个数组的交集

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

  2. [LeetCode] Intersection of Two Arrays 两个数组相交

    Given two arrays, write a function to compute their intersection. Example: Given nums1 = [1, 2, 2, 1 ...

  3. Leetcode每日一题:992.sort-array-by-parity-ii(按奇偶排序数组Ⅱ)

    思路: 法1:建立一个与原数组同大小的数组res,两次遍历A,偶数放入res的偶下标,奇数放入奇下标: 法2:双指针: 法3:双端队列,遍历A,计数插入前端,偶数插入尾端,然后双指针(1首1尾)对队列 ...

  4. Leetcode每日一题:941.valid-mountain-array(有效的山脉数组)

    思路:先遍历一遍数组,找到最大值max以及最大值索引max_index,然后从此处设立两个指针left和right,一个向左遍历,一个向右遍历,max左右两边应该都是递减的: class Soluti ...

  5. Leetcode每日一题:剑指 Offer 04.(二维数组中的查找)

    思路:有序+查找元素,第一想到的就是二分法,所以我对每行采用二分法,每行的复杂度为O(m),那么总的复杂度就是O(nlogm):看题解从右上角开始,这个数比目标值大,就往左移一列,比目标值小,就往下移 ...

  6. 两个对象数组交集_yiduobo的每日leetcode 349.两个数组的交集 amp;amp; 350.两个数组的交集II...

    祖传的手艺不想丢了,所以按顺序写一个leetcode的题解.计划每日两题,争取不卡题吧 349.两个数组的交集https://leetcode-cn.com/problems/intersection ...

  7. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

  8. Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)

    思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...

  9. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  10. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

最新文章

  1. 【C语言】数组指针与指针数组的区分与应用
  2. 【数据挖掘】基于密度的聚类方法 - DBSCAN 方法 ( DBSCAN 原理 | DBSCAN 流程 | 可变密度问题 | 链条现象 | OPTICS 算法引入 | 聚类层次 | 族序概念 )
  3. canvas高度问题_Android的drawText的坐标问题
  4. 和Leo一起做爱字符串的好孩子量子纠缠
  5. SpringBoot 2.0静态资源映射
  6. factorybean 代理类不能按照类型注入_《Spring入门经典》:使用Spring进行依赖注入
  7. 爱奇艺怎么开启数据流量自动播放
  8. linux cocos2dx 配置文件,Linux开发cocos2dx程序环境搭建
  9. Python面试准备
  10. 爱立信卫翰思:已囊括拉美一半以上…
  11. 886C. Petya and Catacombs#墓室探险(set集合)
  12. python单链表实现荷兰国旗问题_[算法题] 荷兰国旗问题
  13. Linux环境运行jmeter+测试报告查看
  14. 地震数据爬取——Scrapy爬虫框架应用
  15. 【蓝桥杯嵌入式】资源拓展板模块详解——数码管
  16. 预防数据泄露——音乐播放器Spotify强制用户重置密码
  17. 解决安卓CPU使用率过高问题
  18. xp iis连接数破解
  19. 【论文学习】《Who is Real Bob? Adversarial Attacks on Speaker Recognition Systems》
  20. 新玺配资:外围市场大跌 A股很难不受影响

热门文章

  1. hdu5791(DP)
  2. 5.12 操作系统——进程调度
  3. redis DB操作
  4. linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
  5. JAVA方法中的参数用final来修饰的原因
  6. 每日笔记---使用@ConfigurationProperties读取yml配置
  7. mysql_query
  8. [课程设计]任务进度条开发日志目录
  9. LA 3882 And Then There Was One
  10. ubuntu 上安装mysql