题目标题:
将两个整型数组按照升序合并,并且过滤掉重复数组元素。
输出时相邻两数之间没有空格。
import java.util.Scanner; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 业务场景为不可重复,所以用set HashSet<Integer> set = new HashSet<>(); for (int i = 0; i < 2; i++) { int n = Integer.parseInt(br.readLine()); String input = br.readLine(); String[] split = input.split(" "); for (int j = 0; j < split.length; j++) { set.add(Integer.parseInt(split[j])); } } // 转换为list ArrayList<Integer> list = new ArrayList<>(set); // 使用集合工具类排序 Collections.sort(list); // 遍历打印 for (Integer integer : list) { System.out.print(integer); } } }
import java.io.*; import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n1 = Integer.parseInt(br.readLine()); String str1 = br.readLine(); int n2 = Integer.parseInt(br.readLine()); String str2 = br.readLine(); StringBuilder sb1 = new StringBuilder(); String[] strArr = sb1.append(str1).append(" ").append(str2).toString().split(" "); int[] arr = new int[n1 + n2]; for (int i = 0; i < strArr.length; i++) arr[i] = Integer.parseInt(strArr[i]); Arrays.sort(arr); StringBuilder sb2 = new StringBuilder(); sb2.append(arr[0]); for (int i = 0; i < arr.length - 1; i++) { if ((arr[i] != arr[i + 1])) sb2.append(arr[i + 1]); } System.out.println(sb2.toString()); } }
import java.util.Scanner; import java.util.TreeSet; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); TreeSet<Integer> set = new TreeSet<>(); while (in.hasNextInt()) { int a = in.nextInt(); int[] arr = new int[a]; for (int i = 0; i < a; i++){ arr[i] = in.nextInt(); set.add(arr[i]); } } for (int a : set){ System.out.print(a); } } }
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int a = in.nextInt(); Set<Integer> list = new TreeSet<>(); while(a-->0) list.add(in.nextInt()); int b = in.nextInt(); while(b-->0) list.add(in.nextInt()); for(Integer num:list) System.out.print(num); } } }
public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int size1 = in.nextInt(); int[] nums1 = new int[size1]; for (int i = 0; i < size1; i++) { nums1[i] = in.nextInt(); } int size2 = in.nextInt(); int[] nums2 = new int[size2]; for (int i = 0; i < size2; i++) { nums2[i] = in.nextInt(); } List<Integer> list = new ArrayList<>(); for (int num : nums1) { if (!list.contains(num)) { list.add(num); } } for (int num : nums2) { if (!list.contains(num)) { list.add(num); } } Collections.sort(list); list.forEach(e -> System.out.print(e)); } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { Set<Integer> array1 = new HashSet<>(); Set<Integer> array2 = new HashSet<>(); int num = sc.nextInt(); for (int i = 0; i < num; i++) { array1.add(sc.nextInt()); } int num2 = sc.nextInt(); for (int i = 0; i < num2; i++) { array2.add(sc.nextInt()); } array1.addAll(array2); Object[] objects = array1.toArray(); Arrays.sort(objects); for (Object object : objects) { System.out.print(object); } } } }
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int length1 = sc.nextInt(); TreeSet<Integer> set = new TreeSet<>(); for (int i = 0; i < length1; i++) { set.add(sc.nextInt()); } int length2 = sc.nextInt(); for (int i = 0; i < length2; i++) { set.add(sc.nextInt()); } for (Integer value : set) { System.out.print(value); } } }treeSet 不仅能去重,还能自然排序
import java.util.*; public class Main{ public static void main(String[] args){ Scanner in=new Scanner((System.in)); while(in.hasNext()){ int n1=in.nextInt(); int arr1[]=new int [n1]; in.nextLine(); for(int i=0;i<n1;i++) arr1[i]=in.nextInt(); in.nextLine(); int n2=in.nextInt(); int arr2[]=new int [n2]; for(int i=0;i<n2;i++) arr2[i]=in.nextInt(); TreeSet<Integer> ts=new TreeSet<>(); for(int i:arr1) ts.add(i); for(int i:arr2) ts.add(i); for(int i:ts){ System.out.print(i); } System.out.println(); } } }
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int x = sc.nextInt(); Set list = new TreeSet(); for(int i = 0;i < x;i++){ int jp = sc.nextInt(); list.add(jp); } int y = sc.nextInt(); for(int i = 0;i < y;i++){ int jp = sc.nextInt(); list.add(jp); } for(Object o : list){ System.out.print(o); } } }
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = null; int count = 0; Set<Integer> arr = new HashSet<>(); while ((str = br.readLine()) != null){ if (count % 2 != 0){ String[] strArr = str.split(" "); for (String num : strArr) { arr.add(Integer.parseInt(num)); } } count++; } // Integer[] mergeNums = arr.toArray(new Integer[arr.size()]); // 迭代器 int[] mergeNums = new int[arr.size()]; Iterator<Integer> it = arr.iterator(); int row = 0; while (it.hasNext()){ mergeNums[row] = it.next(); row ++; } int temp = 0; // 排序 for (int i = 0; i < mergeNums.length-1; i++) { boolean flag = false; for (int j = 0; j < mergeNums.length - i -1; j++) { if (mergeNums[j] > mergeNums [j+1]){ flag = true; temp = mergeNums[j]; mergeNums[j] = mergeNums[j+1]; mergeNums[j+1] = temp; } } if (!flag){ break; } } for (Integer mergeNum : mergeNums) { System.out.print(mergeNum); } } }