1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// @Title: 数组中数字出现的次数 (数组中数字出现的次数 LCOF)
// @Author: 15816537946@163.com
// @Date: 2022-02-22 00:32:37
// @Runtime: 20 ms
// @Memory: 6.1 MB
func singleNumbers(nums []int) []int {
    res := 0

    for _, v := range nums {
        res ^= v
    }

    div := 1
    for (div& res) == 0 {
        div <<=1
    }

    a,b :=0,0
    for _,v := range nums {
        if (v &div) == 0 {
            a^=v
        } else {
            b ^=v
        }
    }

    return []int{a,b}
}