136.go 408 B

1234567891011121314151617181920212223242526272829303132
  1. package main
  2. import (
  3. "fmt"
  4. )
  5. func singleNumberOld(nums []int) int {
  6. m := make(map[int]int, 0)
  7. for _, v := range nums {
  8. if m[v] != 0 {
  9. delete(m, v)
  10. } else {
  11. m[v] = 1
  12. }
  13. }
  14. for k, _ := range m {
  15. return k
  16. }
  17. return -1 << 31
  18. }
  19. func singleNumber(nums []int) int {
  20. n := 0
  21. for _, v := range nums {
  22. n = n ^ v
  23. }
  24. return n
  25. }
  26. func main() {
  27. fmt.Println(singleNumber([]int{1, 2, 3, 3, 2}))
  28. }