luoheng
12/24/2019 - 7:44 AM

hasGroupSizeX


func gcd(x, y int) int {
    if y == 0 {
        return x
    }
    return gcd(y, x % y)
}

func hasGroupsSizeX(deck []int) bool {
    res := map[int]int{}
    for _, v := range deck {
        res[v]++
    }
    var s_value int
    for _, value := range res {
        if s_value != 0 {
            s_value = gcd(value, s_value)
            if s_value == 1 {
                break
            }
        } else {
            s_value = value
        }
    }
    return s_value != 1
    
}