用map来记录当前的所有数字,从0开始遍历两遍,每次遍历到一个数的时候就将该数出现的次数减1,然后找到第一次没有出现的值即可。
#include <iostream>
#include <unordered_map>
using namespace std;
const int N = 110;
int a[N] , n;
int main()
{
int T;
cin >> T;
while(T--)
{
cin >> n;
unordered_map<int , int> mp;
while (n -- )
{
int x;
cin >> x;
mp[x]++;
}
int a = 0 , b = 0;
while(mp[a] > 0)
{
mp[a]--;
a++;
}
while(mp[b] > 0)
{
mp[b]--;
b++;
}
cout << a + b << endl;
}
}