不愧是我,自己写能通过的代码就是垃圾
import java.util.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args){ Scanner sc=new Scanner(System.in); while (sc.hasNext()) { int a=sc.nextInt(); ArrayList<Integer> list1 = new ArrayList<>(); for (int i = 0; i < a; i++) { int x=sc.nextInt(); list1.add(x); } int b=sc.nextInt(); for (int i = 0; i < b; i++) { int y=sc.nextInt(); list1.add(y); } ArrayList<Integer> list; list = (ArrayList<Integer>) list1.stream().distinct().collect(Collectors.toList()); Collections.sort(list,new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o1-o2; } }); for (Integer elements:list) { System.out.printf(String.valueOf(elements)); } System.out.println(); } sc.close(); } }
观看大佬代码
使用treeSet一步到位 ,特性按自然顺序排序,set保证不重复
import java.util.*; public class Main { public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ Set<Long> set = new TreeSet<>(); //接收第一个整形数组大小 int size1 = sc.nextInt(); for (int i = 0; i < size1; i++) { set.add(sc.nextLong()); //将该组的整数按数组大小循环添加进 set } //接收第一个整形数组大小 int size2 = sc.nextInt(); for (int i = 0; i < size2; i++) { set.add(sc.nextLong()); } //遍历输出 for (long n : set) { System.out.print(n); } /* 注意:测试案例会以 两个整形数组 为一组测试用例, 并可能输入多组 要记得组与组的结果之间换行 */ System.out.println(); } } }