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

题目描述:

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

输入:

  输入说明,按下列顺序输入:
    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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 函数式编程包_python 函数支持函数式编程的包operator partial

itemgetter和attrgetter能替代从序列中取出元素或读取对象属性的lambda表达式&#xff0c;会自动构建函数 itemgetter 1&#xff0c;根据元组某个字段给元组列表排序&#xff0c;下例中 itemgetter(1) lambda field : field[1] 2,如果把多个参数传给itemgetter ,它构建的函数会…

Node中使用token(基于第三方包jsonwebtoken)

一、jsonwebtoken 用于生成token&#xff08;加密&#xff09; > jsonwebtoken 1. 安装 npm i jsonwebtoken --save 2. 使用 2.1 引入 2.2 加密 用户登录成功后&#xff0c;后端生成token&#xff0c;返回给前端 二、passport、passport-jwt 用于验证token&#xff0…

写了cookie阻止通过输入地址直接访问下一个html,但是直接输入地址访问时,会闪一下下一个页面,怎么回事啊????、...

描述&#xff1a;做了两个页面login.html index.html 在index的body加了onload事件&#xff0c;调用一个js&#xff0c;js中有cookie的判断&#xff0c;防止没有登录就打开index.html&#xff0c;如果没有登录跳回到login.html 但是&#xff01;&#xff01;&#xff01;&am…

concurrently同时开启多个监听服务

当我们使用nodejs和vue混合开发的时候。当要同时启动后台服务&#xff0c;和前端服务的时候&#xff0c;我们可以使用concurrently 一、安装concurrently包 npm install concurrently --save-dev 二、配置 配置vuecli创建的项目中的packag.json文件&#xff1a; 2. 配置node…

es6 数组合并_JavaScript学习笔记(十九)-- ES6

ES6新增的内容之前的都是 ES5 的内容接下来我们聊一下 ES6 的内容let 和 const 关键字我们以前都是使用 var 关键字来声明变量的在 ES6 的时候&#xff0c;多了两个关键字 let 和 const&#xff0c;也是用来声明变量的只不过和 var 有一些区别1、let 和 const 不允许重复声明变…

常用的加密解密算法

import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;/*** Java常用的对密码加密的方法 对摘要信息进行加密编码*/ public class PasswordUtil {private final static String[] hexDigits { "0", "1", "2", &q…

vue-cli4.x 中 配置允许跨域请求

在项目根目录下创建vue.config.js文件&#xff1a; vue.config.js: module.exports {devServer: {host: localhost,port: 8080,https: false,open: false, // 配置自动启动浏览器hotOnly: true, // 是否热更新proxy: {/api: { // 路径中有 /api 的请求都会走这个代理target: …

怎样不停请求接口实现实时刷新_快狗打车实时数仓和基于Hologres的数据服务建设...

前言 数据的实时化是最近几年数据行业很重要的趋势&#xff0c;我们在去年底也建立起新一代的实时数仓&#xff0c;但是在数据应用上一直没有取得很大的突破&#xff0c;我们希望实时数仓不仅仅是支撑大屏、核心实时报表、个别实时应用等简单的场景&#xff0c;希望更大…

c/c++参考文档

http://www.cplusplus.com/reference/cstdio/ 转载于:https://www.cnblogs.com/haxianhe/p/9271192.html

Vuex在项目中使用

案例1&#xff1a; 案例2&#xff1a; Token 是用户登录成功之后服务端返回的一个身份令牌&#xff0c;在项目中的多个业务中需要使用到 校验页面的访问权限 访问需要授权的 API 接口 … 但是我们只有在第一次用户登录成功之后才能拿到 Token。 所以为了能在其它模块中获取…

办公室分配方案python_Python自动化办公室(1),python,一

输出目录下所有文件及文件夹 创建临时文件及文件夹 输出目录下所有文件及文件夹 os模块简介 os是pyhon标准库&#xff0c;可以实现和操作系统有关的操作&#xff0c;例如创建&#xff0c;移动&#xff0c;复制文件和文件夹&#xff0c;文件路径和名称处理等等 注意&#xff1a;…

Vue移动端项目——Vant 移动端 REM 适配

Vant官方文档 Vant 中的样式默认使用 px 作为单位&#xff0c;如果需要使用 rem 单位&#xff0c;推荐使用以下两个工具&#xff1a; postcss-pxtorem 是一款 postcss 插件&#xff0c;用于将 px 单位转化为 rem lib-flexible 用于设置 rem 基准值 下面我们分别将这两个工具配…

Win7_刻录DVD

1、刻录 临时文件夹&#xff1a; 1.1、C:\Users\具体的用户名\AppData\Local\Microsoft\Windows\Burn 1.2、双击 插入刻录盘的光驱&#xff0c;直接将文件复制到 这里&#xff0c;实际上也就是 复制到 上面的文件夹中。 2、UltraISO 的 路径&#xff1a; C:\Users\33\AppData\L…

findbugs使用_FindBugs,一个帮你找bug的IDEA插件

前言 Findbugs很多人都并不陌生&#xff0c;Eclipse中有插件可以帮助查找代码中隐藏的bug&#xff0c;IDEA中也有这款插件。这个插件可以帮助我们查找隐藏的bug,比较重要的功能就是查找潜在的null指针。 在编写代码的过程中,我们可能不会一直记得检查空的引用,在我们测试时可能…

Java常量的应用

所谓常量&#xff0c;我们可以理解为是一种特殊的变量&#xff0c;它的值被设定后&#xff0c;在程序运行过程中不允许改变。 语法&#xff1a;final 常量名 值; 使用fianl关键字 常量名 值final String a1 "道具卡";fin…

Vue移动端项目——字体图标的使用

使用 iconfont 制作字体图标 设计师为我们单独提供了设计稿中的图标&#xff0c;为了方便使用&#xff0c;我们在这里把它制作为字体图标。 制作字体图标的工具有很多&#xff0c;在这里我们推荐大家使用&#xff1a;https://www.iconfont.cn/。 &#xff08;1&#xff09;登…

docker 虚拟机搭建mongodb一主一从一复制_云计算学习路线图素材课件:Docker容器应用场景分析...

Docker容器是一个开源的应用容器引擎&#xff0c;它能够自动执行重复性任务&#xff0c;例如搭建和配置开发环境&#xff0c;用户可以方便地创建和使用容器&#xff0c;还可以进行版本管理、复制、分享、修改。有很多初学云计算的同学不清楚Docker容器的使用方法以及应用场景&a…

Vue项目中 css样式的作用域(深度作用选择器)

vue官方文档 父组件对子组件设置的样式&#xff0c;只能作用到子组件的根节点上&#xff01;&#xff01;&#xff01;

沈逸老师ubuntu速学笔记(2)-- ubuntu16.04下 apache2.4和php7结合编译安装,并安裝PDOmysql扩展...

1、编译安装apache2.4.20 1 第一步&#xff1a; ./configure --prefix/usr/local/httpd --enable-so 2 第二步&#xff1a; make 3 第三步&#xff1a; sudo make install 2、编译安装libiconv 到这去下载&#xff0c;并编译安装 http://www.gnu.org/so…

git 提交文件_git原理与实战

一&#xff0c;序言之前在工作中也接触过git&#xff0c;但是没有在现公司这里用的功能这么多。主要的差异体现在如下两个方面&#xff1a;1&#xff0c;之前公司使用git主要基于图形用户界面&#xff0c;这对于处理冲突非常有帮助&#xff0c;不太容易改错地方&#xff1b;而现…