Remove Duplicates from sorted array

Posted hujianglang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Remove Duplicates from sorted array相关的知识,希望对你有一定的参考价值。

Given a sorted array, remove the duplicates in place such that each element appear only once
and return the new length.
Do not allocate extra space for another array, you must do this in place with constant memory.
For example, Given input array A = [1,1,2],
Your function should return length = 2, and A is now [1,2]

//code1:
O(n),O(1)
class Solution
    public:
        int removeDuplicates(vector<int>& nums)
            if(nums.empty()) return 0;
            
            int index = 0;
            for(int i = 1; i < nums.size(); ++i)
                if(nums[index] != nums[i])
                    nums[++index] = nums[i];
            
            
            return index + 1;
        
;


//code2:
class Solution
    public:
        int removeDuplicates(vector<int>& nums)
            return distance(nums.begin(),unique(nums.begin(),nums.end()));
        
;

//code3:
class Solution
    public:
        int removeDuplicates(vector<int>& nums)
            return distance(nums.begin(),removeDuplicates(nums.begin(),nums.end(),nums.begin()));
        
    
    template<typename InIt, typename OutIt>
    OutIt removeDuplicates(InIt first,InIt last, OutIt output)
        while(first != last)
            *output++ = *first;
            first = upper_bound(first,last,*first);
        
        return output;
    
;

 

以上是关于Remove Duplicates from sorted array的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 26. Remove Duplicates from Sorted Array 80. Remove Duplicates from Sorted Array II

26. Remove Duplicates from Sorted Array

26. Remove Duplicates from Sorted Array

26. Remove Duplicates from Sorted Array

#26 Remove Duplicates from Sorted Array

Remove Duplicates from Sorted Array [Python]