两数组的交Ⅱ
来源:互联网 发布:达内培训 京构北京php 编辑:程序博客网 时间:2024/04/30 00:28
题目:
计算两个数组的交
样例:
nums1 = [1, 2, 2, 1]
, nums2 = [2, 2]
, 返回 [2, 2]
.
思路:
先将两数组排序,再遍历两数组,找到两数组中相同的元素。
具体代码:
public:
/**
* @param nums1 an integer array
* @param nums2 an integer array
* @return an integer array
*/
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
// Write your code here
vector<int>v;
sort(nums1.begin(),nums1.end());
sort(nums2.begin(),nums2.end());
int a=0;
int b=0;
while(a<nums1.size()&&b<nums2.size()){
if(nums1[a]==nums2[b]){
v.push_back(nums1[a]);
a++;
b++;
}
if(nums1[a]<nums2[b])a++;
if(nums1[a]>nums2[b])b++;
}
return v;
}
};
感想:
一开始没有想到想将数组排序,发现如果不排序,则一个数组需要遍历多次,且找到相同元素后还需要将该元素删除来方便寻找下一个相同元素,而排序后再找交集便方便许多。
阅读全文
0 0
- 两数组的交Ⅱ
- 两数组的交Ⅱ
- 两数组的交Ⅱ
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交||
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 第一次写博客
- Ubuntu 下通过修改/etc/grub.d/40_custom 文件硬盘安装debian8
- HCA卡的Port GUID 和ib0的关系
- js对象声明方式
- hihocoder 1305 区间求差 经典思维+技巧
- 两数组的交Ⅱ
- 【7.3】c++ primer plus 课后编程答案
- R包的安装教程以及myeclipse对R包的调用
- OKHttp(一)入门
- 【7.5】c++ primer plus 课后编程答案
- java语言基础(59)——jdk5自动装箱和拆箱(基本数据类型与包装类之间的转换)
- 大数据-一
- Android JNI开发入门
- java中两个界面之间传递参数的示例+