**银行春招java笔试编程题:输入两个数 x和y,表示两个有序数列中元素的个数然后再输入两行含有x,y个有序数字的数据,将两个数列中的元素合并并去重并有序输出。

**银行春招–java笔试编程题:输入两个数 x,y表示两个有序数列中元素的个数,然后再输入两行含有x,y个有序数字的数据(1<=x,y<=1000);将两个数列中的元素 合并,并去重,并有序输出。

*********************************************************************************************
*输入两个数 x,y表示两个有序数列中元素的个数,然后再输入两行含有x,y个有序数字的数据(1<=x,y<=1000)
*将两个数列中的元素 合并,并将含有相同的元素给筛选排除掉,并有序输出。*****************************
*******如下:********
*    2 3
*    1 7
*    4 6 8
* 输出:1 4 6 7 8
********************
此题我没有写出来,因为编辑器不是用本地的,另外我一开始的想法太复杂,用的是纯数组循环,后来改用的
是ArrayList or list or map。但是list无法进行排序,比较器那块儿也忘了,后来卡槽了,时间到了。最
重要的一点是:重复的元素不是留下来一个,而是将重复的元素,统统去除,只要它的数量大于1,则结果中就
不含有这个数。当时做的时候,我没理解错,但是敲的时候,跑错方向了。。。哎,基础太差,没办法。。。
考完就在本机上做了一遍,思路离奇简单,低消耗的我也没空想。
代码如下:(开销:一个TreeMap,一个TreeSet;缺点:循环太多。。。)

import java.util.Scanner;
import java.util.TreeMap;
import java.util.TreeSet;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int x = sc.nextInt();
		int y = sc.nextInt();
		int nums1[] = new int[x];
		int nums2[] = new int[y];
		for (int i = 0; i < x; i++) {
			nums1[i] = sc.nextInt();
		}
//		sc.nextLine();  这句话是多此一举,其实没必要写,也没问题
		for (int i = 0; i < y; i++) {
			nums2[i] = sc.nextInt();
		}
//		sc.nextLine();
		solve(x, y, nums1, nums2);
	}

	public static void solve(int x, int y, int[] nums1, int[] nums2) {
		TreeMap<Integer, Integer> map = new TreeMap<>();
		for (int i = 0; i < x; i++) {
			if (map.containsKey(nums1[i])) {
				map.put(nums1[i], map.get(nums1[i]) + 1);
			} else {
				map.put(nums1[i], 1);
			}
		}
		for (int j = 0; j < y; j++) {
			if (map.containsKey(nums2[j])) {
				map.put(nums2[j], map.get(nums2[j]) + 1);
			} else {
				map.put(nums2[j], 1);
			}
		}
		TreeSet<Integer> set = new TreeSet<>();
		for (int i = 0; i < x; i++) {
			if (map.get(nums1[i]) == 1) {
				set.add(nums1[i]);
			}
		}
		for (int i = 0; i < y; i++) {
			if (map.get(nums2[i]) == 1) {
				set.add(nums2[i]);
			}
		}

		System.out.println(map);//此句话:输出是为了方便进行检查,测试
		for (int i : set) {
			System.out.print(i + " ");
		}
	}
}


运行截图如下:(三组测试结果,增强可读性)

案例一:
在这里插入图片描述
案例二:
在这里插入图片描述
案例三:
在这里插入图片描述

发布了32 篇原创文章 · 获赞 1 · 访问量 2820

猜你喜欢

转载自blog.csdn.net/YOUAREHANDSOME/article/details/105032511