首页 技术 正文
技术 2022年11月15日
0 收藏 975 点赞 4,507 浏览 1984 个字

问题描述

给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。

输入格式

第一行为一个整数n,表示集合A中的元素个数。

第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。

第三行为一个整数m,表示集合B中的元素个数。

第四行有m个互不相同的用空格隔开的整数,表示集合B中的元素。

集合中的所有元素均为int范围内的整数,n、m<=1000。

输出格式

第一行按从小到大的顺序输出A、B交集中的所有元素。

第二行按从小到大的顺序输出A、B并集中的所有元素。

第三行按从小到大的顺序输出B在A中的余集中的所有元素。

样例输入

5

1 2 3 4 5

5

2 4 6 8 10

样例输出

2 4

1 2 3 4 5 6 8 10

1 3 5

样例输入

4

1 2 3 4

3

5 6 7

样例输出

1 2 3 4 5 6 7

1 2 3 4

第二个可能简短一些

import java.util.Scanner;
import java.util.TreeSet;public class 集合运算 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in); TreeSet<Integer> treeSetA = new TreeSet<Integer>();
int n = in.nextInt();
for (int i = 0; i < n; i++) {
treeSetA.add(in.nextInt());
} TreeSet<Integer> treeSetB = new TreeSet<Integer>();
int m = in.nextInt();
for (int i = 0; i < m; i++) {
treeSetB.add(in.nextInt());
}
in.close(); printDivide(treeSetA, treeSetB);
printAdd(treeSetA, treeSetB);
printRemain(treeSetA, treeSetB);
} public static void printAdd(TreeSet<Integer> a, TreeSet<Integer> b) {
a.addAll(b);
for (int i : a) {
System.out.print(i + " ");
}
System.out.println();
} public static void printDivide(TreeSet<Integer> a, TreeSet<Integer> b) { @SuppressWarnings("unchecked")
TreeSet<Integer> tempA = (TreeSet<Integer>) a.clone();
a.removeAll(b);
tempA.removeAll(a);
for (int i : tempA) {
System.out.print(i + " ");
}
System.out.println();
} public static void printRemain(TreeSet<Integer> a, TreeSet<Integer> b) {
a.removeAll(b);
for (int i : a) {
System.out.print(i + " ");
}
System.out.println();
}}
import java.util.Scanner;
import java.util.TreeSet;public class Demo1两个集合 {
public static void main(String[] args) {
TreeSet<Integer> seta = new TreeSet<Integer>();
TreeSet<Integer> setb = new TreeSet<Integer>();
TreeSet<Integer> setab = new TreeSet<Integer>();int temp=0;
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
seta.add(sc.nextInt());
}
setab.addAll(seta);
int m = sc.nextInt();
for (int i = 0; i < m; i++) {
temp=sc.nextInt();
if(seta.add(temp)){}else{
setb.add(temp);
}
}
sc.close();
setab.removeAll(setb);
for(int i:setb){
System.out.print(i+" ");
}
if(setb.size()!=0)
System.out.println();
for(int i:seta){
System.out.print(i+" ");
}
if(seta.size()!=0)
System.out.println();
for(int i:setab){
System.out.print(i+" ");
}}}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,076
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,400
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,812
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,894