跳转至

LeetCode: 1189. “气球” 的最大数量

1、题目描述

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

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

示例 1:

img

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

示例 2:

img

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

示例 3:

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

提示:

  • 1 <= text.length <= 10^4
  • text 全部由小写英文字母组成

2、解题思路

  • 直接统计出所有的字母的数量,然后看能够拼凑出几个完整的单词,取其中最小的
class Solution:
    def maxNumberOfBalloons(self, text: str) -> int:
        from collections import Counter
        sample = Counter("balloon")
        target = Counter(text)
        inf = float("inf")
        res = inf

        for c, num in sample.items():
            res = min(res,target[c] // num)
        return res if res != inf else 0