题目描述:

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

输入:

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

输出:

  输出合并之后的数组

输入样例:

  3 1 2 5 4 -1 0 3 2

输出样例:

  -101235

思路:

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

 1 import java.util.Scanner;
 2
 3 public class ArrayMerge {
 4
 5     public static void main(String[] args) {
 6         //输入,按输入的标准输入两个数组的数据
 7         Scanner cin = new Scanner(System.in) ;
 8         int len1 = cin.nextInt() ;
 9         if(len1 < 1){
10             System.exit(-1);
11         }
12         int [] arr1 = new int [len1] ;
13         for(int i = 0 ; i < len1 ; i++){
14             arr1[i] = cin.nextInt() ;
15         }
16         int len2 = cin.nextInt() ;
17         if(len2 < 1){
18             System.exit(-1);
19         }
20         int [] arr2 = new int [len2] ;
21         for(int i = 0 ; i < len2 ; i++){
22             arr2[i] = cin.nextInt() ;
23         }
24         cin.close() ;
25
26         System.out.print(intArrayMergeASC(arr1,arr2)) ;
27     }
28
29     /**
30      * 进行合并,然后将输出结果存放到一个字符串中返回
31      * @param arr1
32      * @param arr2
33      * @return
34      */
35     private static String intArrayMergeASC(int[] arr1, int[] arr2) {
36         //将两个数组合并到一个较大的数组中
37         int [] total = new int [arr1.length + arr2.length] ;
38         for(int i = 0 ; i < arr1.length ; i++){
39             total[i] = arr1[i] ;
40         }
41         for(int i = 0 ; i < arr2.length ; i++){
42             total[i+arr1.length] = arr2[i] ;
43         }
44         //对合并后的数组排序
45         sort(total) ;
46         //保存在结果在字符串中
47         String res = total[0]+"" ;
48         int last = total[0] ;
49         for(int i = 1 ; i < total.length ; i++){
50             //不相同的则添加到字符串中,相同的则直接下一个
51             if(total[i] != last){
52                 last = total[i] ;
53                 res += total[i] + "" ;
54             }
55         }
56
57         return res;
58
59     }
60
61     /**
62      * 简单选择排序算法对数组进行排序
63      * @param arr
64      */
65     private static void sort(int[] arr) {
66         int min ;
67         int index ;
68         for(int i = 0 ; i < arr.length-1 ; i++){
69             min = arr[i] ;
70             index = i ;
71             for(int j = i+1 ; j < arr.length ; j++){
72                 if(min > arr[j]){
73                     min = arr[j] ;
74                     index = j ;
75                 }
76             }
77             if(index != i){
78                 arr[index] = arr[i] ;
79                 arr[i] = min ;
80             }
81         }
82     }
83
84 }

Code

转载于:https://www.cnblogs.com/mukekeheart/p/5628004.html

华为OJ平台——整形数组合并相关推荐

  1. 华为面试题目整形数组合并排序

    输入描述: 输入说明,按下列顺序输入: 1 输入第一个数组的个数 2 输入第一个数组的数值 3 输入第二个数组的个数 4 输入第二个数组的数值 输出描述: 输出合并之后的数组 示例1 输入: 3 1 ...

  2. 华为OJ平台题目-砝码重量

    本人邮箱-> kco1989@qq.com 欢迎转载,转载请注明网址 http://blog.csdn.net/tianshi_kco github: https://github.com/kc ...

  3. 2023新华为OD机试题 - 数组合并(JavaScript) | 刷完过

    华为Od必看博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 华为OD机试 全流程解析+经验分享,题型分 ...

  4. 整形数组合并【JS】

    问题描述 题目链接-牛客 将两个整型数组按照升序合并,并且过滤掉重复数组元素. 输出时相邻两数之间没有空格. 输入描述: 输入说明,按下列顺序输入: 输入第一个数组的个数 输入第一个数组的数值 输入第 ...

  5. 华为oj平台的新网址

    http://117.78.7.99/exam/camLogin.jsp 转载于:https://www.cnblogs.com/hewenwu/p/3981391.html

  6. 华为OJ平台——放苹果(典型整数划分问题)

    题目描述: 输入m,n,分别表示苹果数与盘子的总数,要求输出苹果放在n个盘子的方法总数(注意511和151是一种情况),例如输入 7 3 输出8((7),(6,1),(5,2),(4,3),(5,1, ...

  7. 华为OJ平台题目:(练习用)挑7

    描述 输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数 知识点 循环 运行时间限制 0M 内存限制 0 输入 一个正整数N.(N不大于 ...

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

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

  9. c语言oj平台ratio,【华为OJ平台练习题】求最大公共子串的个数和元素

    #include #include using namespace std; vector prcs_2Strs(const char* s1,const char* s2) { vector pos ...

最新文章

  1. Linux虚拟机连不上网
  2. Python核心模块——urllib模块
  3. MPB:华中师大谢波组-​​​微生物非标记定量蛋白质组学样品制备方法
  4. 微服务架构:动态配置中心搭建
  5. HDU 1573: X问题
  6. podcast播客资源_为什么播客是我的新维基百科-完美的非正式学习资源
  7. JavaWEB/JSP 中简单的验证码 springMVC
  8. python abc
  9. Android 插件化和热修复知识梳理
  10. Code blocks调试教程
  11. 计算机系统字体安装程序,电脑安装字体的三种方式
  12. 核心银行系统 之一 历史与发展
  13. 宝马推出电动自行车,最大续航300公里
  14. 使用QT5+Opencv完成简单的图像处理及视频处理软件
  15. 《你见,或者不见我》
  16. 国际日期书写标准格式
  17. DynaBeanHolder动态bean构造器实现
  18. 关于《那些年啊,那些事——一个程序员的奋斗史》——24提到的鼻炎治疗方法
  19. 百草霜fbinst启动盘fba包汇总
  20. 概率论中的联合概率理解

热门文章

  1. javascript之Partial Application
  2. 面 试 细 节 一 点 通
  3. 两个文件比较之comm命令
  4. python3 实现对比conf 文件差异
  5. 入门级----测试的执行、环境的搭建、每日构建、测试记录和跟踪、回归测试、测试总结和报告...
  6. TOUGHRADIUS 项目介绍
  7. 嵌入式 boa服务器移植
  8. java打印调用堆栈的方式
  9. ubuntu18.04安装mysql数据库
  10. java利用子类求正方形_Java程序设计实验2011