版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
题意:给一个n,然后给出n个范围在1到n之间的数问最少改变几个数字才能得到一个唍整的从1到n的序列,然后输出这个序列并保证这个序列的字典序最小
分析:改变个数就是1~n没有出现的数的个数。我们记录每个数出现了幾次把没有出现过的数从小到大放到队列里。一个数出现多次就把它替换掉。同一个数出现有多个位置则保留一个位置不变化。若這个数没有被保留过如果小于队列里最顶端的数,这个数就被保留如果被保留过,或小于队列里最顶端的数那么这个位置的数改为隊列里最顶端的数。这样做保证了字典序最小