手写一个 unique 函数:

1
2
3
4
5
6
7
8
9
10
vector<int>::iterator unique(vector<int> a&) {
int j = 0;
for (int i = 0; i < a.size(); i++) {
if (!i || a[i] != a[i - 1]) {
a[j++] = a[i];
}
}
// a[0] ~ a[j-1] 是所有不重复的元素
return a.begin() + j;
}