题目描述:

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

输入:

  输入说明,按下列顺序输入:
    1 输入第一个数组的个数
    2 输入第一个数组的数值
    3 输入第二个数组的个数
    4 输入第二个数组的数值

输出:

  输出合并之后的数组

输入样例:

  3 1 2 5 4 -1 0 3 2

输出样例:

  -101235

思路:

先将两个数组合并到一个中,然后对这个完整的数组进行排序,最后剔除重复的数据并输出

 import java.util.Scanner;

 public class ArrayMerge {

     public static void main(String[] args) {
//输入,按输入的标准输入两个数组的数据
Scanner cin = new Scanner(System.in) ;
int len1 = cin.nextInt() ;
if(len1 < 1){
System.exit(-1);
}
int [] arr1 = new int [len1] ;
for(int i = 0 ; i < len1 ; i++){
arr1[i] = cin.nextInt() ;
}
int len2 = cin.nextInt() ;
if(len2 < 1){
System.exit(-1);
}
int [] arr2 = new int [len2] ;
for(int i = 0 ; i < len2 ; i++){
arr2[i] = cin.nextInt() ;
}
cin.close() ; System.out.print(intArrayMergeASC(arr1,arr2)) ;
} /**
* 进行合并,然后将输出结果存放到一个字符串中返回
* @param arr1
* @param arr2
* @return
*/
private static String intArrayMergeASC(int[] arr1, int[] arr2) {
//将两个数组合并到一个较大的数组中
int [] total = new int [arr1.length + arr2.length] ;
for(int i = 0 ; i < arr1.length ; i++){
total[i] = arr1[i] ;
}
for(int i = 0 ; i < arr2.length ; i++){
total[i+arr1.length] = arr2[i] ;
}
//对合并后的数组排序
sort(total) ;
//保存在结果在字符串中
String res = total[0]+"" ;
int last = total[0] ;
for(int i = 1 ; i < total.length ; i++){
//不相同的则添加到字符串中,相同的则直接下一个
if(total[i] != last){
last = total[i] ;
res += total[i] + "" ;
}
} return res; } /**
* 简单选择排序算法对数组进行排序
* @param arr
*/
private static void sort(int[] arr) {
int min ;
int index ;
for(int i = 0 ; i < arr.length-1 ; i++){
min = arr[i] ;
index = i ;
for(int j = i+1 ; j < arr.length ; j++){
if(min > arr[j]){
min = arr[j] ;
index = j ;
}
}
if(index != i){
arr[index] = arr[i] ;
arr[i] = min ;
}
}
} }

Code

华为OJ平台——整形数组合并的更多相关文章

  1. 华为OJ平台试题 ——数组:整形数组合并

    代码: /* * 将两个整型数组依照升序合并,而且过滤掉反复数组元素 */ #include <stdio.h> #define N 256 #define M 512 /* * 合并数组 ...

  2. 华为OJ平台试题 —— 数组:输入n个整数,输出当中最小的k个

    输入n个整数.输出当中最小的k个: 代码: /*  * 输入n个整数,输出当中最小的k个.  * 输入说明:1.输入两个整数:2.输入一个整数数组  * 输出说明:输出一个整数数组  */ <p ...

  3. 华为OJ平台——字符串分隔

    题目描述: 连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组: 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理 输入 连续输入字符串(输入两次,每个字符长长度小于100)输 ...

  4. 华为OJ平台——输出最小的k个数

    输入n个整数,输出其中最小的k个. 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int *pInputArray, unsignedint ...

  5. 华为OJ平台——矩阵乘法

    题目描述: 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C. 输入: 1.第一个矩阵的行数 2.第一个矩阵的列数(也是第二个矩阵的行数) 3.第二个矩阵 ...

  6. 华为OJ平台——密码强度等级

    题目描述: 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分. 一.密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二.字母: 0  ...

  7. 华为OJ平台——求最大连续bit数

    题目描述: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入: 一个byte型的数字    输出: 对应的二进制数字中1的最大连续数 思路: ...

  8. 华为OJ平台——统计字符串中的大写字母

    题目描述: 统计字符串中的大写字母的个数 输入: 一行字符串 输出: 字符串中大写字母的个数(当空串时输出0) 思路: 这一题很简单,直接判断字符串中的每一个字符即可,唯一要注意的一点是输入的字符串可 ...

  9. 华为OJ平台——将真分数分解为埃及分数

    题目描述: 分子为1的分数称为埃及分数.现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数.如:8/11 = 1/2+1/5+1/55+1/110. 输入: 输入一个真分数, ...

随机推荐

  1. linux svn迁移备份的三种方法

    原文:http://www.iitshare.com/linux-svn-migration.html svn备份方式对比分析 一般采用三种方式: 1.svnadmin dump 2.svnadmin ...

  2. C#全角和半角转换

    在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角".在汉字输入时,系统提供&quo ...

  3. 分析MySQL慢日志(转)

    使用 MySQL自带命令 mysqldumpslow 查看 OPTIONS -s ORDER ORDER, 主要有 c, t, l, r 和 ac, at, al, ar, 分别是按照 query次数 ...

  4. OAF_EO系列6 - Delete详解和实现(案例)

    2014-06-14 Created By BaoXinjian

  5. CF109 C. Lucky Tree 并查集

    Petya loves lucky numbers. We all know that lucky numbers are the positive integers whose decimal re ...

  6. phpmyadmin数据库导入出错

    SQL 查询: -- phpMyAdmin SQL Dump-- version 3.5.1-- http://www.phpmyadmin.net---- 主机: localhost-- 生成日期: ...

  7. curl 同时发送多个请求

    // 创建一对cURL资源 $ch1 = curl_init(); $ch2 = curl_init(); // 设置URL和相应的选项 curl_setopt($ch1, CURLOPT_URL, ...

  8. mapreduce任务中Shuffle和排序的过程

    mapreduce任务中Shuffle和排序的过程 流程分析: Map端: 1.每个输入分片会让一个map任务来处理,默认情况下,以HDFS的一个块的大小(默认为64M)为一个分片,当然我们也可以设置 ...

  9. UCOS-2 消息邮箱与队列

    一个有趣的网络解释: 信号量就是中央政府发给官人做一方大员的官印,有很多种官印但是不能一印多发,得到官印者才能掌权鱼肉一方百姓(任务得到信号量才能运行),否则你就只要等官跑官.(当然官印也可随时被政府 ...

  10. ylbtech-dbs:ylbtech-1,FAM(家庭资产管理系统)

    ylbtech-dbs:ylbtech-1,FAM(家庭资产管理系统) -- =============================================-- Family Assets ...