package main func singleNumberOld(nums []int) int { m := make(map[int]int, 0) for _, v := range nums { if m[v] != 0 { delete(m, v) } else { m[v] = 1 } } for k := range m { return k } return -1 << 31 } func singleNumber(nums []int) int { n := 0 for _, v := range nums { n = n ^ v } return n } // func main() { // fmt.Println(singleNumber([]int{1, 2, 3, 3, 2})) // }