分析:给出一个升序序列,找到不同的数字数量cnt,并且要处理这个序列,使得序列结果为这些数字的排列。
然而题目中还有一句话:
It doesn't matter what values are set beyond the returned length.
那就意味着,只要前cnt个是目标序列就可以,后面的数字可以不用处理。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()==0)
return 0;
int cnt=1;
int k=nums[0];
for(int i=1;i<nums.size();i++)
{
if(k!=nums[i])
{
nums[cnt]=nums[i];
cnt++;
k=nums[i];
}
}
return cnt;
}
};//Runtime: 24 ms, Memory Usage: 9.9 MB