给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)。
字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。
示例 1: 输入:text = "nlaebolko" 输出:1 示例 2: 输入:text = "loonbalxballpoon" 输出:2 示例 3: 输入:text = "leetcode" 输出:0
提示:
1 <= text.length <= 10^4 text 全部由小写英文字母组成正解
链接
自解class Solution {
public:
int min(int a, int b) {
if (a>b)
return b;
else
return a;
}
int maxNumberOfBalloons(string text) {
string t = "balloon";
int ans = INT_MAX;
int buf[128] = {0}; //unordered_set/set中元素互不相同,无法用来计数
for(auto i : text) {
buf[i]++;
}
ans = min(ans, buf['b']);
ans = min(ans, buf['a']);
ans = min(ans, buf['l'] / 2);
ans = min(ans, buf['o'] / 2);
ans = min(ans, buf['n']);
return ans;
}
};



