首页 > 代码库 > Remove Duplicates from Sorted Array

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].

思路:因为输入数据是有序的,所以我们只需将当前元素与新序列尾部元素进行比较,若相同,跳过当前元素;否则,将当前元素加入新序列尾部。

 1 class Solution { 2 public: 3     int removeDuplicates( int A[], int n ) { 4         if( n == 0 ) { return 0; } 5         int pos = 0; 6         for( int i = 1; i < n; ++i ) { 7             if( A[pos] != A[i] ) { A[++pos] = A[i]; } 8         } 9         return pos+1;10     }11 };

 

Remove Duplicates from Sorted Array