题意理解:
去除先前数列中的重复元素;
题目分析:
1. 先排序,再去重;
2. 不能分配额外空间,所以需要进行内部排序;
解题代码:
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int size=nums.size();
if(size<=0){
return 0;
}
int ans=size;
sort(nums.begin(), nums.end());
int pre;
vector<int>::iterator iter=nums.begin();
for(int i=0; i<size; i++){
if(i==0){
pre=nums[i];
continue;
}
if(nums[i]==pre){
ans--;
nums.erase(iter+i);
i--;
size--;
continue;
}
pre=nums[i];
}
return ans;
}
};