AcWing 3705. 子集mex值--Java (HashMap)
原题链接
简单
作者:
卡曼橘
,
2021-06-21 23:50:06
,
所有人可见
,
阅读 314
import java.util.Scanner;
import java.util.Arrays;
import java.util.HashMap;
class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
while(T > 0)
{
HashMap<Integer, Integer> p = new HashMap<>();
int n = sc.nextInt();
for(int i = 0; i < n; i ++)
{
int x = sc.nextInt();
int c = p.getOrDefault(x,0) + 1;
p.put(x, c);
}
int res = mex(p) + mex(p);
System.out.println(res);
// System.out.println(n);
T--;
}
}
public static int mex(HashMap<Integer,Integer> p)
{
for(int i = 0; i < 101; i ++)
{
int a =p.getOrDefault(i,0);
if ( a== 0) return i;
else p.put(i, a - 1);
}
return -1;
}
}