80. Remove Duplicates from Sorted Array II
Last updated
Last updated
/**
* Time complexity : O(n) since we process each element exactly once.
* Space complexity : O(1)
*/
class Solution {
public int removeDuplicates(int[] nums) {
if(nums == null || nums.length == 0) return 0;
int j = 1, count = 1;
for(int i = 1; i < nums.length; i++) {
if(nums[i-1] == nums[i]) {
count++;
} else {
count = 1;
}
if(count <= 2) nums[j++] = nums[i];
}
return j;
}
}/**
* Time complexity : O(n) since we process each element exactly once.
* Space complexity : O(1)
*/
class Solution {
public int removeDuplicates(int[] nums) {
if(nums==null) return 0;
if(nums.length <= 2) {
return nums.length;
}
int i = 1, j = 2;
while (j < nums.length) {
if(nums[j] == nums[i] && nums[j] == nums[i-1]) {
j++;
} else {
i++;
nums[i] = nums[j];
j++;
}
}
return i + 1;
}
}