美团技术类真题(1)
前言:据我了解,美团笔试算法题还是比较简单的,大家尽量做完美团笔试!不然很难获得美团面试机会~
如果对你的美团笔试有帮助,可以点赞收藏。
mex
时间限制: 2000/1000 MS (Java/Others)
内存限制: 65536/65536 K (Java/Others)
问题描述
若S表示一个非负整数集合,mex(S)的值为不属于集合S的最小非负整数。例如,mex({0, 1, 4}) = 2,mex({1, 2}) = 0。
有n个互不相同的非负整数a1, a2, … an 构成了一个非负整数集合A。小美想知道若将ai (1 ≤ i ≤ n)从集合A中删除,剩下的n-1个数构成的新集合A’的mex值为多少?请输出i从1到n 所有取值下新集合的mex值。
输入描述
第一行输入一个整数n,表示集合A的大小。
第二行输入n个整数a1, a2, … an 。
输出n个整数,相邻两个数之间用空格隔开。其中第i个数表示从集合A中删除ai,剩下n-1 个数构成的新集合的mex值 。
输入样例
4
5 0 3 1
输出样例
2 0 2 1
数据范围和说明
对于80%的数据, 2 ≤ n ≤100, 0 ≤ ai ≤ 100
对于100%的数据,2 ≤ n ≤50000, 0 ≤ ai ≤ 109,保证ai互不相同。
样例说明
删除第1个数5,mex({0, 1, 3}) = 2;
删除第2个数0,mex({5, 3, 1}) = 0;
删除第3个数3,mex({5, 0, 1}) = 2;
删除第4个数1,mex({5, 0, 3}) = 1。
#美团笔试##美团算法##美团##笔试#