#题目要求
#解题思路
先避免数组中没有元素的特殊情况。然后对于数组中有元素的情况,需要定义两个变量,从j=0项开始,如果数组中后一个数大于前一个,则将该数赋值给前一个数字出现的第二项,即赋值给j++项。
#C++执行代码
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()==0)
return 0;
int i,j=0;
for(i=1;i<nums.size();i++)
{
if(nums[i]>nums[j])
{
j++;
nums[j]=nums[i];
}
}
return j+1;
}
};
#执行结果
#心得
执行用时比较长,可以再尝试用指针做一下这道题,可能会缩短执行时间,还需要继续努力!