考虑数x > mex 的都不会对mex有影响。
数x < mex 的,如果她只出现过1次,那么new_mex = x
所以先对数组排序,循环得到mex的同时统计每个数出现次数。
最后循环每个数,分情况讨论得到答案。
小红有一个长度为n的数组[a1,a2,...,an]。现在他想知道,对于a中的每个元素,删除该元素后数组的MEX值是多少,请你帮他算算吧
整数数组的MEX定义为没有出现在数组中的最小非负整数。
第一行输入一个整数 n(2≤n≤200000)代表数组中的元素数量。
第二行输入n个整数a1,a2,...,an(0≤ai≤109)代表数组元素。
在一行输出n个整数,其中第i个整数表示删除ai后数组的MEX值
输入
5
0 1 2 3 3
输出
0 1 2 4 4