删除有序数组中的重复项


这题简单题,双指针,一个指针记录未重复的数的个数,另一个记录遍历的位置。
以下是简单模拟,可以优化:
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int l=0;
int r=1;
if(nums.size()<=1)
return nums.size();
while(r<nums.size())
{
if(nums[l]==nums[r])
{
r++;
}else{
l++;
nums[l]=nums[r];
r++;
}
}
return l+1;
}
};
//优化:
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int l=0;
int r=1;
if(nums.size()<=1)
return nums.size();
while(r<nums.size())
{
if(nums[l]!=nums[r])
{
l++;
nums[l]=nums[r];
}
r++;
}
return l+1;
}
};












![[附源码]基于Flask的演唱会购票系统](https://img-blog.csdnimg.cn/img_convert/6f0be98c141f22c51acf5ce394ed0a2c.png)






