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好多了



京公网安备 11010502036488号