class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int n=nums.size();
if(n==1)return n;
int count=1;
int slow,fast;
int j=0;
for(int i=j+1;i<n;i++){
slow=nums[j];
fast=nums[i];
if(fast==slow){
if(count<2&&(i-j)==1){
count++;
j++;
}
if(count<2&&(i-j)>1){
count++;
j++;
nums[j]=fast;
}
if(count==2&&i==(n-1)){
nums[j]=nums[i];
}
}
else{
if(count==2){
j++;
nums[j]=fast;
count--;
}
else{
j++;
nums[j]=fast;
}
}
}
return j+1;
}
};
80 数组/字符串 删除有序数组中的重复项||
最新推荐文章于 2024-05-30 16:17:47 发布