1189. “气球” 的最大数量

给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。

字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。

示例 1:
输入:text = "nlaebolko"
输出:1

示例 2:
输入:text = "loonbalxballpoon"
输出:2

示例 3:
输入:text = "leetcode"
输出:0

题解

解1

/**
 * @param {string} text
 * @return {number}
 */
var maxNumberOfBalloons = function(text) {
    text=text.split('')
    let arr=0,b="balloon"
    while (text.length>=7){
        for(let i=0;i<b.length;i++){
            if(text.indexOf(b[i])!=-1){
                arr++
                text.splice(text.indexOf(b[i]),1)
            }else{
                return Math.floor(arr/7)
            }
        }
    }
    return Math.floor(arr/7)
};

解2

/**
 * @param {string} text
 * @return {number}
 */
var maxNumberOfBalloons = function(text) {
    return Math.floor(Math.min(text.length - text.replace(/b/g, '').length,
        text.length - text.replace(/a/g, '').length,
        (text.length - text.replace(/l/g, '').length) / 2,
        (text.length - text.replace(/o/g, '').length) / 2,
        text.length - text.replace(/n/g, '').length,
    ))
};

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注