8.go 412 B

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