import java.util.ArrayList; import java.util.Scanner; import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner=new Scanner(System.in); int t=scanner.nextInt(); for (int i = 0; i < t; i++) { int n=scanner.nextInt(); ArrayList<Integer> list=new ArrayList<>(); TreeSet<Integer> set=new TreeSet<>(); for (int j = 0; j < n; j++) { int a=scanner.nextInt(); if(set.add(a)) { list.add(a); } } for (Integer j : list) { System.out.print(j+" "); } System.out.println(); } } }
这道题主要是卡时间,如果单纯只用集合,那么就会出现三个测试数据过不了,这个时候我们就得想办法减少时间消耗,我们可以使用TreeSet来判断是否已经存入了该值,这个的耗时很少,比list.contain好多了