列表

详情


1189. “气球” 的最大数量

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

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

 

示例 1:

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

示例 2:

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

示例 3:

输入:text = "leetcode"
输出:0

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int maxNumberOfBalloons(string text) { } };

golang 解法, 执行用时: 4 ms, 内存消耗: 2.2 MB, 提交时间: 2021-06-10 22:26:29

func maxNumberOfBalloons(text string) int {
    ans := math.MaxInt32
    mp := make(map[byte]int)
    mp2 := make(map[byte]int)
    target := "balloon"
    for i := range target {
        mp[target[i]]++
    }
    for i := range text {
       mp2[text[i]]++ 
    }

    for k, v := range mp {
        if c, ok := mp2[k]; ok && c >= v {
            ans = min(ans, c/v)
        } else {
            return 0
        }
    }

    return ans
}

func min(a, b int) int {
    if a < b {
        return a
    }
    return b
}

上一题