public class Solution {
public int removeDuplicates(int[] nums) {
if (nums.length == 0) return 0;
int pre = nums[0];
int idx = 1;
int len = 1;
for (int i=1; i<nums.length; i++) {
if (nums[i] > pre) {
pre = nums[i];
nums[idx] = pre;
++idx;
++len;
}
}
return len;
}
}
A compact solution from StefanPochmann
public class Solution { public int removeDuplicates(int[] nums) { int i = 0; for (int num : nums) if (i==0 || nums[i-1] < num) nums[i++] = num; return i; } }