Java 集合运算

╰半夏微凉° 2022-04-23 04:10 257阅读 0赞

问题描述

给出两个整数集合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

代码:

  1. import java.util.Scanner;
  2. public class Test {
  3. public static String jiao(int a[], int b[]) {
  4. String s = "";
  5. for (int i = 0; i < a.length; i++) {
  6. for (int j = 0; j < a.length; j++) {
  7. if (a[i] == b[j]) {
  8. s = s.concat(a[i] + "").concat(" ");
  9. continue;
  10. }
  11. }
  12. }
  13. return s;
  14. }
  15. public static String bing(int a[], int b[]) {
  16. String s = "";
  17. for (int i = 0; i < a.length; i++) {
  18. s = s.concat(a[i] + ""+" ");
  19. }
  20. for (int i = 0; i < a.length; i++) {
  21. int count = 0;
  22. for (int j =0;j<a.length;j++) {
  23. if (a[j] != b[i]) {
  24. count++;
  25. }
  26. if (count == a.length){
  27. s = s.concat(b[i] + "" + " ");
  28. }
  29. }
  30. }
  31. return s;
  32. }
  33. public static String yu(int a[], int b[]){
  34. String s = "";
  35. for (int i = 0; i < a.length; i++) {
  36. int count = 0;
  37. for (int j = 0; j < a.length; j++) {
  38. if(a[i] != b[j]){
  39. count++;
  40. }
  41. if (count == a.length){
  42. s = s.concat(a[i]+""+" ");
  43. }
  44. }
  45. }
  46. return s;
  47. }
  48. public static void main(String[] args) {
  49. Scanner sc = new Scanner(System.in);
  50. int n = sc.nextInt();
  51. int[] a = new int[n];
  52. for (int i = 0; i < n; i++) {
  53. a[i] = sc.nextInt();
  54. }
  55. int m = sc.nextInt();
  56. int[] b = new int[n];
  57. for (int i = 0; i < m; i++) {
  58. b[i] = sc.nextInt();
  59. }
  60. String s = jiao(a, b);
  61. System.out.println(s);
  62. s = bing(a, b);
  63. System.out.println(s);
  64. s = yu(a,b);
  65. System.out.println(s);
  66. }
  67. }

发表评论

表情:
评论列表 (有 0 条评论,257人围观)

还没有评论,来说两句吧...

相关阅读

    相关 TOJ1743 集合运算 Set

    描述 给定两个集合A和B的所有元素,计算它们的交、并、差集。 输入 输入数据有多组,第一行为数据的组数T,接下来有2T行,每组数据占2行,每行有若干个整数,第一行的所有整

    相关 树实现集合运算

    ![70][] 如图,2棵树表示2个集合,用一个数组存储多棵树 注意:(1).用树表示集合,树的每一个节点代表集合中的一个元素,并且从上到下,从左到右放从小到大的元素 (

    相关 Java 集合运算

    问题描述 给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。 输入格式 第一行为一个整数n,表示集合A中的元素个数。   第二行有n个互不相同的

    相关 set和集合运算

    set集合 概念:set是可变的、无序的、不重复的元素集合。set的元素及元素里面的元素不能出现不可哈希类型。(即set的元素要求必须可以hash)