AcWing 786. 第k个数
原题链接
简单
作者:
Patavix
,
2020-08-07 21:43:11
,
所有人可见
,
阅读 416
unique()函数用法
unique()可对数组,vector去重,返回去重之后的尾迭代器(或指针)。而这个所谓的去重,并没有将重复的元素删除,而是将重复的元素移至数组/vector的尾部。
如[1,1,2,2,3,4],去重后变成[1,2,3,4,1,2]。
对于数组
#include<cstdio>
#include<algorithm>
using namespace std;
int a[100010];
int main()
{
int n,k,pos;
scanf("%d%d", &n, &k);
for(int i = 0; i<n; i++) scanf("%d", &a[i]);
int m = unique(a, a+n) - a; //得到的是去重后数组的size,而数组a[100010]已经去重好了
return 0;
}
对于vector
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
vetcor<int> a({1,1,2,2,3,3,4});
a.erase(unique(a.begin(), a.end()), a.end())
//将放在末尾的多余元素删除
return 0;
}