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]
.
public class Solution { public int removeDuplicates(int[] A) { int n = A.length; if (n == 0) return 0; int pos = 0; for (int i = 1; i < n; i++) if (A[i] != A[pos]) A[++pos] = A[i]; return pos+1; } }
No comments:
Post a Comment