题目
1189.“气球” 的最大数量
题目大意
给你一个字符串 text
,你需要使用 text
中的字母来拼凑尽可能多的单词 “balloon”(气球)。
字符串 text
中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。
样例
数据规模
思路
考虑到组成单词 b a l l o o n balloon balloon,根本不需要在意它们的顺序。并且很明确每个字母只可以使用一次,所以直接统计每个字母的个数,然后最后可以组成的单词数量就是 m i n ( b , a , l / 2 , o / 2 , n ) min(b,a,l/2,o/2,n) min(b,a,l/2,o/2,n)。
代码
class Solution {
public:
int vis[30];
int maxNumberOfBalloons(string text) {
for(int i=0;i<text.length();i++){
vis[text[i]-'a']++;
}
int ans=min(vis[1],min(vis[0],min(vis['l'-'a']/2,min(vis['o'-'a']/2,vis['n'-'a']))));
return ans;
}
};