"""
气球数量
给定一个字符串s,需要使用s中的字母,
来拼凑尽可能多的单词'balloon'(气球)
字符串s中的每个字母最多只能被使用一次,
最多可以拼凑出多少个单词'balloon'
"""
from collections import Counter
def max_balloons(s):
"""
计算给定字符串中可以组成单词 "balloon" 的最大数量。
参数:
s (str): 输入的字符串。
返回:
int: 可以组成 "balloon" 的最大数量,如果不能组成则返回 0。
"""
# 筛选出字符串中包含 "balloon" 中字母的字符
arr = [char for char in s if char in "balloon"]
# 统计每个字母出现的次数
ht = Counter(arr)
# 由于 "l" 和 "o" 在 "balloon" 中各出现两次,因此需要将它们的计数除以 2
ht['l'] //= 2
ht['o'] //= 2
# 如果所有字母都出现,则返回最小的字母数量;否则返回 0,表示不能组成 "balloon"
return min(ht.values()) if len(ht) == 5 else 0
print(max_balloons("nlaebolko"))
评论前必须登录!
注册