Java实现 蓝桥杯VIP 算法训练 集合运算
问题描述
给出两个整数集合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+" ");
}
}
}
Java实现 蓝桥杯VIP 算法训练 集合运算的更多相关文章
- Java实现蓝桥杯VIP 算法训练 找公倍数
问题描述 这里写问题描述. 打印出1-1000所有11和17的公倍数. 样例输入 一个满足题目要求的输入范例. 样例输出 与上面的样例输入对应的输出. 这道题其实没有什么可写的,但是为了让读者更方便的 ...
- Java实现 蓝桥杯VIP 算法训练 连通分块(并查集)
试题 算法训练 连通分块 资源限制 时间限制:200ms 内存限制:8.0MB 问题描述 连通分块 输入格式 输入的第一行包含两个整数n, m n代表图中的点的个数,m代表边的个数 接下来m行,每行2 ...
- Java实现 蓝桥杯VIP 算法训练 无权最长链
试题 算法训练 无权最长链 问题描述 给定一个n节点m边的无圈且连通的图,求直径 输入格式 第一行两个数字n,m 接下来m行每行两个数字x,y,代表x,y之间有一条边 输出格式 要求用户的输出满足的格 ...
- Java实现 蓝桥杯VIP 算法训练 星际交流
算法训练 星际交流 时间限制:1.0s 内存限制:256.0MB 问题描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法 ...
- Java实现 蓝桥杯VIP 算法训练 Car的旅行路线
大家可以看一下这个,蓝桥杯官网的这道题是有问题的 Car的旅行路线 算法训练 Car的旅行路线 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 查看参考代码 问题描述 又到暑假 ...
- Java实现 蓝桥杯VIP 算法训练 邮票
算法训练 邮票 时间限制:1.0s 内存限制:512.0MB 问题描述 给定一个信封,有N(1≤N≤100)个位置可以贴邮票,每个位置只能贴一张邮票.我们现在有M(M<=100)种不同邮资的邮票 ...
- Java实现 蓝桥杯VIP 算法训练 最大质因数(暴力)
试题 算法训练 最大质因数 问题描述 给出N个数字,求出有最大的最大质因数的那个数 输入格式 第一行:一个整数N. 接下来的N行,每行一个整数A_i,表示给出的那N个数字. 输出格式 第一行:一个整数 ...
- Java实现 蓝桥杯VIP 算法训练 与1连通的点的个数(并查集)
试题 算法训练 与1连通的点的个数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 没有问题描述. 输入格式 输入的第一行包含两个整数n, m n代表图中的点的个数,m代表边的个数 ...
- Java实现 蓝桥杯VIP 算法训练 非递归(暴力)
试题 算法训练 非递归 问题描述 当x>1时,Hermite多项式的定义见第二版教材125页.用户输入x和n,试编写"非递归"函数,输出对应的Hermite多项式的值.其中x ...
随机推荐
- redis crackit入侵事件总结
今天发现服务器有异常进程/opt/yam/yam,上网搜了搜,是由于redis未授权引起的入侵,查了些资料,这里做下总结. 1. 现象 有以下其一现象就要注意是否被入侵 crontab -l 可以看到 ...
- python统计英文文本中的回文单词数
1. 要求: 给定一篇纯英文的文本,统计其中回文单词的比列,并输出其中的回文单词,文本数据如下: This is Everyday Grammar. I am Madam Lucija And I a ...
- 网页爬虫--python3.6+selenium+BeautifulSoup实现动态网页的数据抓取,适用于对抓取频率不高的情况
说在前面: 本文主要介绍如何抓取 页面加载后需要通过JS加载的数据和图片 本文是通过python中的selenium(pyhton包) + chrome(谷歌浏览器) + chromedrive(谷歌 ...
- Mysql 常用函数(5)- substring 函数
Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html substring 的作用 截取指定范围的字符串, ...
- 5、打断点(bpu)
前言 先给大家讲一则小故事,在我们很小的时候是没有手机的,那时候跟女神聊天都靠小纸条.某屌丝A男对隔壁小王的隔壁女神C倾慕已久,于是天天小纸条骚扰,无奈中间隔着一个小王,这样小王就负责传小纸条了.有一 ...
- Spring 获取bean
方法一: ApplicationContext ap = new ClassPathXmlApplicationContext("applicationContext.xml"); ...
- asp.net MVC3.0 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
asp.net MVC3.0 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction 1.带有Render的方法返回值是v ...
- 设计模式:Filter+Servlet+反射
传统设计 分类管理需要:增加,删除,编辑,修改,查询5个服务端功能. 一个路径对应一个Servlet的思路,就需要设计5个Servlet类,并且在web.xml中配置5个路径. CategoryAdd ...
- JAVA定义变量和基础的数据类型和关键字
标识符语法 1)java中定义标识符格式以字母,数字,下划线,$符合组成,不能以数字开头,且不能为 java中的关键字. 2)标识符意义要明确,不要乱起 3)标识 ...
- 如何为Form表单的多个提交按钮指定不同的Action地址?
这是我很久以前看到的一个技巧,但我忘记在哪里了,当时遇到这样的需求,做了笔记,现在整理成文章分享出来,因为我感觉这个小技巧还是挺有用的,这种应用场景也算比较常见,比如一个表单有"保存&quo ...