[1189] 气球的最大数量

[1189] 气球的最大数量
[1189] 气球的最大数量题目描述给你一个字符串text你需要使用text中的字母来拼出尽可能多的单词balloon气球。字符串text中的每个字母最多只能被使用一次。请你返回最多可以拼出多少个单词balloon。示例 1输入text nlaebolko 输出1示例 2输入text loonbalxballpoon 输出2示例 3输入text leetcode 输出0提示1 text.length 10^4text 全部由小写英文字母组成解题思路这题的核心其实就一句话能拼出多少个 balloon取决于那个最缺的字母。balloon 这个词里b、a、n各需要 1 个但l和o各需要 2 个。所以思路很直接先统计text里b、a、l、o、n这五个字母分别出现了多少次。因为l和o每次要用两个所以它们能提供的份数是出现次数 // 2。最后取这五个值的最小值就是答案。min(cnt[b], cnt[a], cnt[l]//2, cnt[o]//2, cnt[n])时间复杂度 O(n)空间复杂度 O(1)只统计 5 个字符。完整代码class Solution: def maxNumberOfBalloons(self, text: str) - int: from collections import Counter cnt Counter(text) return min(cnt[b], cnt[a], cnt[l] // 2, cnt[o] // 2, cnt[n])