给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。
字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。
示例 1:
输入:text = "nlaebolko"
输出:1
示例 2:
输入:text = "loonbalxballpoon"
输出:2
示例 3:
输入:text = "leetcode"
输出:0
提示:
- 1 <= text.length <= 10^4
- text 全部由小写英文字母组成
分析:
方法:哈希表+模拟
因为 text 全由小写字母组成,因此我们可以用数组来存储每个字母的数量,然后我们遍历 balloon 这个单词,遍历一次对应字母数量减一,每遍历完一次 balloon,就记录一次单词数量,若字母数量为 0,终止遍历, 返回此时的单词数量。
时间复杂度:O(n)
空间复杂度:O(C)
class Solution {
public int maxNumberOfBalloons(String text) {
//创建数组记录字母