合并两个整数集合,并排序---京东2017秋招笔试
2017-09-12 09:42
274 查看
package com.lyf.practice; import java.util.Arrays; import java.util.Scanner; /** * Created by fangjiejie on 2017/9/12. */ public class GatherMerge { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int t=5; while(t--!=0){ int l1,l2; l1=sc.nextInt(); l2=sc.nextInt(); int a1[]=new int[l1]; int a2[]=new int[l2]; for(int i=0;i<l1;i++){ a1[i]=sc.nextInt(); } for(int j=0;j<l2;j++){ a2[j]=sc.nextInt(); } Arrays.sort(a1); Arrays.sort(a2); for(int i=0;i<l1;i++){ System.out.print(a1[i]); } System.out.println(); for(int j=0;j<l2;j++){ System.out.print(a2[j]); } System.out.println(); //去重函数 int a1pos=0,a2pos=0; int []c=new int[l1+l2]; int k=0; while(a1pos<a1.length&&a2pos<a2.length){ if(a1[a1pos]<a2[a2pos]){ c[k++]=a1[a1pos]; a1pos++; }else if(a1[a1pos]>a2[a2pos]){ c[k++]=a2[a2pos]; a2pos++; }else if(a1[a1pos]==a2[a2pos]){ c[k++]=a2[a2pos]; a1pos++; a2pos++; } } while(a1pos<l1){ c[k++]=a1[a1pos++]; } while (a2pos<l2){ c[k++]=a2[a2pos++]; } for(int i=0;i<k;i++){ System.out.print(c[i]); } System.out.println(); // System.out.println(t); } } }
相关文章推荐
- 京东2017秋笔试真题--集合
- 定义一个List集合并实例化对应的实现类对象。循环输入任意个整数,输入0结束输入循环,对集合中的数据进行从大到小的排序后输出
- 百度2017春招笔试真题编程题集合:有趣的排序 [python]
- Java 关于两个集合合并,并排序的demo
- [笔试]两个整数集合求交集并集
- 合并两个排序的整数数组A和B变成一个新的数组。
- 4--百度2017春招笔试真题编程题集合--有趣的排序 (Python)
- 求两个整数集合的交集-2014TX笔试题
- 【笔试】35、合并两个排序的链表
- 两个整数集合的交集 ———— 腾讯2014软件开发笔试题目
- 剑指offer面试题[17]-合并两个排序的链表
- C# 合并两个int数组 合并后根据大小排序 并输出
- 九度_题目1519:合并两个排序的链表
- 剑指Offer - 九度1519 - 合并两个排序的链表
- 剑指offer之合并两个已排序好的链表
- 合并两个排序的链表
- 面试题17:合并两个排序的链表
- 【剑指Offer学习】【面试题17 ::合并两个排序的链表】
- 合并两个集合元素:遵循集合元素不重复的原则,已经存在的元素不再插入
- 剑指offer之十五---合并两个排序的链表