华为OJ(整形数组合并)
2015-08-16 13:42
302 查看
题目:整形数组合并
先给出比较简单的代码,利用set容器即可实现无重复元素。
如果不允许使用使用STL,那么就乖乖排序吧,将两个数组中元素放到第三个数组中,然后排序,去重复,这部分代码等找到工作再回来补上吧。
描述 | 题目标题: 将两个整型数组按照升序合并,并且过滤掉重复数组元素详细描述:接口说明原型:voidCombineBySort(int* pArray1,intiArray1Num,int* pArray2,intiArray2Num,int* pOutputArray,int* iOutputNum);输入参数: int* pArray1 :整型数组1 intiArray1Num:数组1元素个数 int* pArray2 :整型数组2 intiArray2Num:数组2元素个数输出参数(指针指向的内存区域保证有效): int* pOutputArray:合并后的数组 int* iOutputNum:合并后数组元素个数返回值: void |
---|---|
知识点 | 排序,数组 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入说明,按下列顺序输入: 1 输入第一个数组的个数 2 输入第一个数组的数值 3 输入第二个数组的个数 4 输入第二个数组的数值 |
输出 | 输出合并之后的数组 |
样例输入 | 3 1 2 5 4 -1 0 3 2 |
样例输出 | -101235 |
using namespace std; int main() { int num1,num2,temp; set<int> iset; cin>>num1; for(int i=0;i<num1;i++) { cin>>temp; iset.insert(temp); } cin>>num2; for(int i=0;i<num2;i++) { cin>>temp; iset.insert(temp); } for(set<int>::iterator it=iset.begin();it!=iset.end();it++) cout<<*it; //system("pause"); return 0; }第二种方法,利用vector以及泛型算法,代码如下:
#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { int num1,num2,temp; vector<int> ivec; cin>>num1; for(int i=0;i<num1;i++) { cin>>temp; ivec.push_back(temp); } cin>>num2; for(int i=0;i<num2;i++) { cin>>temp; ivec.push_back(temp); } sort(ivec.begin(),ivec.end()); vector<int>::iterator end_unique=unique(ivec.begin(),ivec.end()); ivec.erase(end_unique,ivec.end()); for(vector<int>::iterator it=ivec.begin();it!=ivec.end();it++) cout<<*it; //system("pause"); return 0; }
如果不允许使用使用STL,那么就乖乖排序吧,将两个数组中元素放到第三个数组中,然后排序,去重复,这部分代码等找到工作再回来补上吧。
相关文章推荐
- Java微信支付(公众号,扫码)
- lnmp 环境搭建
- HDU1372 Knight Moves(BFS)
- 二进制浮点数,IEEE标准
- 从决策树到RF,以及boosting Adaboost到GBDT算感悟
- 【LeetCode】Roman to Integer & Integer to Roman
- POJ 2785
- HDOJ 5381 The sum of gcd 莫队算法
- FileZilla FTP server 架设和FileZilla FTP 客户端使用说明
- Android 媒体:网络视频播放器的基本设计
- as3与java在protected等方面的的一些区别
- hdu 3699 Aragorn's Story(树链剖分)
- 2:虚幻引擎网络架构:Replication
- 用c实现部分java数组功能,很烂,留个参考吧
- JAVA WEB知识点总结
- 自定义多列排序:C++/Java实现
- 删除singly linked list中的一个node(只给了那个node的reference)
- 编译原理:实现高级表达式计算器(初级)
- Eclipse Java EE IDE for Web Developers集成的Maven 3 指向自己安装的 Maven
- [LeetCode] Add Digits