这道题主要想法使用set
set容器的三个特点:
不用 sort+unique+vector erase的原因也很显然 输出顺序不能改变
直接用set stl的特性即可
或者标记数组的写法
b.count() 判断是否出现 0没出现过 1则出现过
先判断是否存在 如果不存在则插入到 set中使用 b.insert进行插入
值得注意的是不能直接遍历输出 因为set会自动从小到大排序
说白了就是b的这个set进行判断是否出现过 没有就输出 有就跳过
#include <iostream>
#include <set>
using namespace std;
int main() {
int n;
cin >> n;
set<int> b;
for (int i=0;i<n;i++) {
int temp;
cin>>temp;
if (b.count(temp)==0) {
cout <<temp<<" ";
b.insert(temp);
}
}
return 0;
}

京公网安备 11010502036488号