题目描述
AcWing 3705
算法1
贪心+TreeMap
或者用数组下标也可以,实现更简单
Java 代码
import java.util.Scanner;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
while (T-- != 0) {
TreeMap<Integer, Integer> data = new TreeMap<>((k1, k2) -> k2 - k1);
int n = sc.nextInt();
for (int i = 1; i <= n; i++) {
int k = sc.nextInt();
data.put(k, data.getOrDefault(k, 0) + 1);
}
int res1 = 0;
int res2 = 0;
for (int i = 0; i < 101; i++) {
data.putIfAbsent(i, 0);
if (data.get(i) > 0) {
data.put(i, data.get(i) - 1);
} else {
res1 = i;
break;
}
}
for (int i = 0; i < 101; i++) {
if (data.get(i) <= 0) {
res2 = i;
break;
}
}
System.out.println(res1 + res2);
}
}
}