Test instructions
Given a sorted array, remove the duplicates in place such, all element appear only once and return the new L Ength.
Do the allocate extra space for another array, and you must does this on 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]
.
Given an ordered array, the number of paired occurrences in the array is removed, guaranteeing that each number in the array appears only once, returning the final array length.
The point to note is not only to detect the length of the returned array, but also to check the contents of the returned array.
The idea is to set two subscript, a I traverse the entire array, an index record currently needs to compare the number, but also the length of the returned array, if encountered during the traversal of a[i] not equal to A[index], will a[i] inserted after the a[index], the implementation code is as follows:
int removeduplicates (int a[], int n) { if (n = = 0) return 0; int index = 0;for (int i = 1; i < n; i++) {if (A[i]! = A[index]) {A[++index] = A[i]; When A[i] is not equal to the value of the current index, A[i] is inserted after index}}return index + 1; }
[Leetcode] Remove Duplicates from Sorted Array