首页 > 编程 > C++ > 正文

[华为OJ--C++]050-整形数组合并

2019-11-08 02:25:00
字体:
来源:转载
供稿:网友

题目描述:将两个整型数组按照升序合并,并且过滤掉重复数组元素

输入描述:

输入第一个数组的个数

 输入第一个数组的数值

输入第二个数组的个数

输入第二个数组的数值

输出描述:输出合并之后的数组

输入例子:

3

1 2 5

4

-1 0 3 2

输出例子:

-101235

算法实现:

#include<iostream>  #include<string>#include<algorithm>#include<vector>using namespace std;    //************************************************    // * Author: 赵志乾    // * Date: 2017-2-19     // * Declaration: All Rigths Reserved !!!    //***********************************************/    void InPut(vector<int>&ret){	for(int i=0;i<ret.size();i++)	{		cin>>ret[i];	}}int main()  {      int Alen;	cin>>Alen;	vector<int>A(Alen,0);	InPut(A);	int Blen;	cin>>Blen;	vector<int>B(Blen,0);	InPut(B);	vector<int>ret(Alen+Blen,0);	for(int i=0;i<Alen;i++)		ret[i]=A[i];	for(int i=Alen;i<Alen+Blen;i++)		ret[i]=B[i-Alen];	sort(ret.begin(),ret.end());	int i=0;int j=0;	for(j=1;j<ret.size();j++)		if(ret[i]!=ret[j])		{			i++;			ret[i]=ret[j];		}		for(int k=0;k<=i;k++)		cout<<ret[k];	cout<<endl;    return 0;  }  


上一篇:组合问题的一般C++解法

下一篇:C++

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选