Intersection of Two Arrays
2016-07-02 12:08
197 查看
Intersection of Two Arrays
Given two arrays, write a function to compute their intersection.Example:
Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2].
Note:
Each element in the result must be unique.
The result can be in any order.
思路
好像最基本的就是排序 然后比较了有点像二分归并了,是不是
相等的话,就看返回的集合是不是为空或者和前面一个数是不是相同,然后同时后移
然后那个小,就把哪个指针后移了
感慨下,有库函数就是方便啊,排序是基础啊
看看人家python的库函数,简直方便
class Solution(object): def intersection(self, nums1, nums2): return list(set(nums1) & set(nums2))
代码
class Solution { public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { sort(nums1.begin(),nums1.end()); sort(nums2.begin(),nums2.end()); int len1 = nums1.size(); int len2 = nums2.size(); int i=0,j=0; vector<int> re; while(i<len1&&j<len2) { if(nums1[i]==nums2[j]) { if(re.empty()||re[re.size()-1]!=nums1[i])//和前一个比较,因为是有序的!! re.push_back(nums1[i]); i++; j++; } else if(nums1[i]<nums2[j]) { i++; } else j++; } return re; } };
相关文章推荐
- Google镜像大全-最新最全的谷歌搜索镜像(2016-07更新)
- 理解Docker架构
- leetcode112. Path Sum
- HMAC
- Stream,Reader/Writer,Buffered的区别(1)
- Xcode基本操作入门力作
- 168. Excel Sheet Column Title
- Optimizing Linux network TCP/IP kernel parameters
- 保护模式学习笔记:IDT
- Hello World
- 在WPF中使用字体图标
- 如何使用 virtualenv
- ISO C 标准
- c#电梯控制程序winform
- 新 cocoapods 安装
- 使用plsql远程连接oracle服务器(11g测试有效)
- Swift实现传值的四种方法
- 如何正确的做笔记
- Linux下硬盘分区
- Kth Largest Element in an Array