题目:
思路:
将修改过的数据进行标记,+1。找到第一个没有被修改过的数进行输出。
代码:
#include <iostream>
using namespace std;
int st[100000];//数组内的所有数据都为0
int main(){
int n;
cin>>n;
int a;
for(int i=0;i<n;i++){
cin>>a;
while(st[a]!=0) a++;//循环,直到将其变为没有处理的数据,再进行输出
cout<<a<<' ';
st[a]=1;//标记已经处理掉的数据为1
}
}
PS:该方式,并不能通过所有用例。会超时。但是简单,不需要用到并查。