CF978A Remove Duplicates数组操作/STL
Posted roni-i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF978A Remove Duplicates数组操作/STL相关的知识,希望对你有一定的参考价值。
【链接】:CF978A
【分析】:逆向思考+标记数组去重
【代码】:
#include<bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
#define ms(a,b) memset(a,b,sizeof(a))
#define rep(i,a,b) for(int i=(a); i<(b); i++)
//#define run(i,a,b) for(int i=(a); i<=(b); i++)
const int N = 1e5+5;
#define ll long long
int n;
int v[N];
int b[N];
int a[N];
set<int> st;
vector<int> vt;
int main()
{
cin>>n;
rep(i,0,n)
{
cin>>a[i];
st.insert(a[i]);
}
cout<<st.size()<<endl;
for(int i=n-1;i>=0;i--)
{
if(v[a[i]]==0)
{
vt.push_back(a[i]);
}
v[a[i]]=1;
}
for(int i=st.size()-1;i>=0;i--)
{
printf("%d ",vt[i]);
}
}
以上是关于CF978A Remove Duplicates数组操作/STL的主要内容,如果未能解决你的问题,请参考以下文章
80. Remove Duplicates from Sorted Array II
LeetCode:删除排序数组中的重复项 (Remove Duplicates from Sorted Array)
26Remove Duplicates from Sorted Array
Remove Duplicates from Sorted Array