26.go 317 B

123456789101112131415161718
  1. package main
  2. // in-place
  3. func removeDuplicates(nums []int) int {
  4. if len(nums) == 0 {
  5. return 0
  6. }
  7. // index of the last element in array
  8. last := 0
  9. for curr := 1; curr < len(nums); curr++ {
  10. if nums[curr] != nums[last] {
  11. nums[last+1] = nums[curr]
  12. last++
  13. }
  14. }
  15. // size = last_index + 1
  16. return last + 1
  17. }