力扣26和80除有序数组中的重复项(快慢指针)
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int n=nums.size();
int i=0,j=0;
map<int,int>mp;
while(j<n)
{
if(mp[nums[j]]>=1)
{
nums[j]=0;
j++;
}
else
{
nums[i]=nums[j];
mp[nums[j]]++;
i++;
j++;
}
}
return i;
}
};
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii/
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int n=nums.size();
int i=0,j=0;
map<int,int>mp;
while(j<n)
{
if(mp[nums[j]]>=2)
{
nums[j]=0;
j++;
}
else
{
nums[i]=nums[j];
mp[nums[j]]++;
i++;
j++;
}
}
return i;
}
};