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