Oliver's Blog
Search
⌃K
Comment on page

Remove Duplicates from Sorted Array

ID: 26: Easy

Solution 1 (Go)

func removeDuplicates(nums []int) int {
i := 0
for j:=0; j<len(nums); j++ {
if nums[i] != nums[j] {
i++
nums[i] = nums[j]
}
}
return i+1
}

Solution 2 (Java)

public class Solution {
/*
* @param nums: An ineger array
* @return: An integer
*/
public int removeDuplicates(int[] nums) {
if (nums == null || nums.length == 0)
return 0;
int i = 0;
for (int j = 0; j < nums.length; j++) {
if (nums[i] != nums[j]) {
i++;
nums[i] = nums[j];
}
}
return i + 1;
}
}

Notes

  • i is the writing pointer and j is the reading pointer.
  • We only change the array in place if the reading pointer encounter some number that is different from the writing pointer.