Skip to content

914. 卡牌分组 #53

@JesseZhao1990

Description

@JesseZhao1990

image
image

解题思路:
这个问题可以抽象为求一组数的最大公约数,用一个哈希表统计出各个数字出现的次数,然后计算这些次数的最大公约数

/**
 * @param {number[]} deck
 * @return {boolean}
 */
var hasGroupsSizeX = function(deck) {
    if(deck.length<2) return false;
    var m = {}
    deck.map(d=>{
        if(m[d] === undefined) {
            m[d] =1
        }else{
           m[d]++; 
        }
    })
    
    var result =0;
    for(var k in m){
        result = gcd(m[k], result)
    }
    
    return result >=2;    
};


function gcd(a,b){
    if(b===0){
        return a
    }else{
        return gcd(b, a%b)
    }
}

原题链接:https://leetcode-cn.com/problems/x-of-a-kind-in-a-deck-of-cards/

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions