您的位置:首页 > 编程语言 > Java开发

数组-06. 找出不是两个数组共有的元素(20)

2015-02-07 21:42 211 查看


给定两个整型数组,本题要求找出不是两者共有的元素。

输入格式:

输入分别在2行中给出2个整型数组,每行先给出正整数N(<=20),随后是N个整数,其间以空格分隔。

输出格式:

在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。

输入样例:
10 3 -5 2 8 0 3 5 -15 9 100
11 6 4 8 2 6 -5 9 0 100 8 1

输出样例:
3 5 -15 6 4 1import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int m = cin.nextInt();
int[] a = new int[m];
for (int i = 0; i < m; i++) {
a[i] = cin.nextInt();
}
int n = cin.nextInt();
int[] b = new int
;
for (int i = 0; i < n; i++) {
b[i] = cin.nextInt();
}
int k = 0, i, j, l;
int[] c = new int[m + n];
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++)
if (a[i] == b[j])
break;
if (j == n) {
for (l = 0; l < k; l++)
if (c[l] == a[i])
break;
if (l == k)
c[k++] = a[i];
}
}
for (j = 0; j < n; j++) {
for (i = 0; i < m; i++)
if (b[j] == a[i])
break;
if (i == m) {
for (l = 0; l < k; l++)
if (c[l] == b[j])
break;
if (l == k)
c[k++] = b[j];
}
}
System.out.print(c[0]);
for (i = 1; i < k; i++) {
System.out.print(" " + c[i]);
}
System.out.println();
}
}
 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java pat