unique()函数的实现
实现STL中的unique()函数.假定所给的数组$nums[]$是升序的.
思路
不重复的元素有两种情况:①它是数组的首元素;②$nums[i]\neq nums[i-1]$.
用双指针,将所有不重复的元素放到前$j$个数.
代码
vector<int>::iterator unique(vector<int>& a) {
for (int i = 0, j = 0; i < a.size(); i++) {
if (!i || a[i] != a[i - 1])
a[j++] = a[i]; // 将不重复的元素放在前j个数
}
return a.begin() + 1;
}