Leetcode 1189. “气球” 的最大数量
题目
给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。
字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。
示例 1:
输入:text = "nlaebolko"
输出:1
示例 2:
输入:text = "loonbalxballpoon"
输出:2
示例 3:
输入:text = “leetcode”
输出:0
思路
- 用map存放balloon对应的字符和出现的次数
- 使用strings.Count函数统计text字符串的对应的出现的次数
- 取每个字符的拼凑值的最小值即可
代码 —— golang
func maxNumberOfBalloons(text string) int {
res := math.MaxInt32
str := map[string]int {
"b": 1,
"a": 1,
"l": 2,
"o": 2,
"n": 1,
}
for ch, mod := range str {
count := strings.Count(text, string(ch))
res = int(math.Min(float64(res), float64(count / mod)))
}
return res
}