Leetcode每日一题:349.intersection-of-two-arrays(两个数组的交集)
思路:排序+双指针,也可以用两个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(两个数组的交集)相关推荐
- 349. Intersection of Two Arrays 两个数组的交集
给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,5], ...
- [LeetCode] Intersection of Two Arrays 两个数组相交
Given two arrays, write a function to compute their intersection. Example: Given nums1 = [1, 2, 2, 1 ...
- Leetcode每日一题:992.sort-array-by-parity-ii(按奇偶排序数组Ⅱ)
思路: 法1:建立一个与原数组同大小的数组res,两次遍历A,偶数放入res的偶下标,奇数放入奇下标: 法2:双指针: 法3:双端队列,遍历A,计数插入前端,偶数插入尾端,然后双指针(1首1尾)对队列 ...
- Leetcode每日一题:941.valid-mountain-array(有效的山脉数组)
思路:先遍历一遍数组,找到最大值max以及最大值索引max_index,然后从此处设立两个指针left和right,一个向左遍历,一个向右遍历,max左右两边应该都是递减的: class Soluti ...
- Leetcode每日一题:剑指 Offer 04.(二维数组中的查找)
思路:有序+查找元素,第一想到的就是二分法,所以我对每行采用二分法,每行的复杂度为O(m),那么总的复杂度就是O(nlogm):看题解从右上角开始,这个数比目标值大,就往左移一列,比目标值小,就往下移 ...
- 两个对象数组交集_yiduobo的每日leetcode 349.两个数组的交集 amp;amp; 350.两个数组的交集II...
祖传的手艺不想丢了,所以按顺序写一个leetcode的题解.计划每日两题,争取不卡题吧 349.两个数组的交集https://leetcode-cn.com/problems/intersection ...
- leetcode每日刷题计划-简单篇day8
leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...
- Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)
思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...
- 【LeetCode每日一题】1723. 完成所有工作的最短时间
[LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...
- leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用
leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...
最新文章
- 【C语言】数组指针与指针数组的区分与应用
- 【数据挖掘】基于密度的聚类方法 - DBSCAN 方法 ( DBSCAN 原理 | DBSCAN 流程 | 可变密度问题 | 链条现象 | OPTICS 算法引入 | 聚类层次 | 族序概念 )
- canvas高度问题_Android的drawText的坐标问题
- 和Leo一起做爱字符串的好孩子量子纠缠
- SpringBoot 2.0静态资源映射
- factorybean 代理类不能按照类型注入_《Spring入门经典》:使用Spring进行依赖注入
- 爱奇艺怎么开启数据流量自动播放
- linux cocos2dx 配置文件,Linux开发cocos2dx程序环境搭建
- Python面试准备
- 爱立信卫翰思:已囊括拉美一半以上…
- 886C. Petya and Catacombs#墓室探险(set集合)
- python单链表实现荷兰国旗问题_[算法题] 荷兰国旗问题
- Linux环境运行jmeter+测试报告查看
- 地震数据爬取——Scrapy爬虫框架应用
- 【蓝桥杯嵌入式】资源拓展板模块详解——数码管
- 预防数据泄露——音乐播放器Spotify强制用户重置密码
- 解决安卓CPU使用率过高问题
- xp iis连接数破解
- 【论文学习】《Who is Real Bob? Adversarial Attacks on Speaker Recognition Systems》
- 新玺配资:外围市场大跌 A股很难不受影响