华为测试 整形数组合并

合并输入的两个整形数组并去掉重复的数字按升序输出;

案例输入:3

1 2 5

4

-1 0 3 2

案例输出:-101

#include<iostream>
#include<vector>
using namespace std;
void maopao(vector<int>&arry);
int main()
{
	int N1,N2,num;
	string line;
	vector<int>arry1;
	cin>>N1;
	for(int i=0;i!=N1;++i)
	{
	cin>>num;
	arry1.push_back(num);
	}
	cin>>N2;
	for(int j=0;j!=N2;++j)
	{
	cin>>num;
	arry1.push_back(num);
	}
	maopao(arry1);
	for(vector<int>::iterator iter=arry1.begin()+1;iter!=arry1.end();++iter)
	{
		if(*(iter-1)==*(iter))
		{
			arry1.erase(iter);
			iter=arry1.begin()+1;
		}
	}
	for(vector<int>::iterator iter2=arry1.begin();iter2!=arry1.end();++iter2)
	{
		cout<<*iter2;
	}
	cout<<endl;
	return 0;
}

void maopao(vector<int>&arry)
{
    int temp;
	int k;
	vector<int>::iterator iter;
	vector<int>::iterator iter1;
    for(iter=arry.begin(),k=0;iter!=arry.end();++iter,++k)
    {
        for(iter1=arry.begin()+1;iter1!=arry.end()-k;++iter1)
        {
            if(*(iter1-1)>*iter1)
            {
                temp=*(iter1-1);
                *(iter1-1)=*iter1;
                *iter1=temp;
            }
        }
    }
}  

235

华为测试 整形数组合并

时间: 2024-10-11 22:53:26

华为测试 整形数组合并的相关文章

华为測试 整形数组合并

合并输入的两个整形数组并去掉反复的数字按升序输出: 案例输入:3 1 2 5 4 -1 0 3 2 案例输出:-101 #include<iostream> #include<vector> using namespace std; void maopao(vector<int>&arry); int main() { int N1,N2,num; string line; vector<int>arry1; cin>>N1; for(i

华为OJ平台——整形数组合并

题目描述: 将两个整型数组按照升序合并,并且过滤掉重复数组元素 输入: 输入说明,按下列顺序输入: 1 输入第一个数组的个数 2 输入第一个数组的数值 3 输入第二个数组的个数 4 输入第二个数组的数值 输出: 输出合并之后的数组 输入样例: 3 1 2 5 4 -1 0 3 2 输出样例: -101235 思路: 先将两个数组合并到一个中,然后对这个完整的数组进行排序,最后剔除重复的数据并输出 1 import java.util.Scanner; 2 3 public class Array

整形数组合并

import java.util.Iterator; import java.util.Scanner; import java.util.Set; import java.util.TreeSet; public class CombineArray { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int first = scan.nextInt(); int []fArray

【华为OJ】【050-整形数组合并】

[华为OJ][算法总篇章] [华为OJ][050-整形数组合并] [工程下载] 题目描述 将两个整型数组按照升序合并,并且过滤掉重复数组元素 输入描述 输入说明,按下列顺序输入: 1 输入第一个数组的个数 2 输入第一个数组的数值 3 输入第二个数组的个数 4 输入第二个数组的数值 输出描述 输出合并之后的数组 输入例子 3 1 2 5 4 -1 0 3 2 输出例子 -101235 算法实现 import java.util.Arrays; import java.util.Scanner;

一个整形数组中最大值求和问题

要求: 1.输入一个整形数组,数组里面有正数也有负数. 2.数组中国连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 3.求所有子数组的和的最大值.要求时间复杂度为O(n). 当自己看到这个题目的时候,想到了“复杂的问题简单化,一步一步来”,然后在课上老师的引导之下有了自己实现这个功能的方法.最终自己用了两者方法实现功能,但是在第二种方法上花费的时间较多,几乎是第一种方法两倍的时间.下面将两种方法一一解释自己的思路. 一.时间复杂度O(n^2) 本次功能实现简单,一共分为3步,首先是实

java 有序数组合并

有序数组合并,例如: 数组 A=[100, 89, 88, 67, 65, 34], B=[120, 110, 103, 79, 66, 35, 20] 合并后的结果 result=[120, 110, 103, 100, 89, 88, 79, 67, 66, 65, 35, 34, 20] 程序: import java.util.Arrays; public class Test { public static void main(String[] args) { int[] a = {

算法--两个有序数组合并

两个有序数组合并 关键点:从后往前进行比较,这样保证数组A有用的部分不会因为在合并的过程中覆盖掉 第15节 有序数组合并练习题 有两个从小到大排序以后的数组A和B,其中A的末端有足够的缓冲空容纳B.请编写一个方法,将B合并入A并排序. 给定两个有序int数组A和B,A中的缓冲空用0填充,同时给定A和B的真实大小int n和int m,请返回合并后的数组. Java (javac 1.7) 代码自动补全 1 import java.util.*; 2 3 public class Merge {

C语言 有一个整形数组a,有10个元素,要求输出数组中的全部元素

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">有一个整形数组a,有10个元素,要求输出数组中的全部元素</span> 解题思路:引用数组中各元素的值有3种方法:1.下标法,如a[3];2.通过数组名计算数组元素的地址,找出元素的值 3.用指针变量指向数组元素. //用指针变量指向数组元素 #include <std

华为测试 字符串运用-密码截取

Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解.比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 .因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher找出最长的有效密码串吗? 输