要求
给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。
字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。
示例 1:
输入:text = "nlaebolko"
输出:1
示例 2:
输入:text = "loonbalxballpoon"
输出:2
示例 3:
输入:text = "leetcode"
输出:0
代码详解
class Solution:
def maxNumberOfBalloons(self, text: str) -> int:
from collections import Counter
if not text:
return 0
cnt = Counter(text)
cnt_balloons = Counter("balloon")
return min([cnt[c]//cnt_balloons[c] for c in cnt_balloons])
解题思路:我们对数据text进行统计,使用Counter,然后我们在对"balloon"进行统计,我们会得到关于b,a,l,o,n的数量分布,我们使用比的关系,最少的那个就是能组成"balloon"的单词的个数(短板思想)。