Question26–Remove Duplicates from Sorted Array
给定一个排好序的数组,消除重复的数,除了给定的数组不能开额外的数组,空间复杂度必须是常数。
算法
因为是排好序的,从头遍历一遍,将不同的元素依次存入原数组。
Code
int removeDuplicates(vector<int>& nums) {
int vsize=nums.size();
if(vsize==0) return 0;
int index=1, uniqueelementindex=0;
for(; index<vsize; index++)
if(nums[uniqueelementindex]!=nums[index])
nums[++uniqueelementindex]=nums[index];
return uniqueelementindex+1;
}
算法复杂度:O(n)