给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。
字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。
- 示例
输入:text = "loonbalxballpoon"
输出:2
思路
统计字母 b,a,l,o,n的出现次数,选取出现次数最少的一个(注意:o , l 进行比较时要除以 2)
- 代码
public int maxNumberOfBalloons(String text) {
//统计每个单词的数目
int[] nums = new int[26];
char[] chars = text.toCharArray();
for (char c : chars) {
int i = c - 'a';
nums[i]++;
}
int min = nums[0];
for (int i = 0; i < nums.length; i++) {
if (i+'a'=='b' || i+'a'=='n')
min = Math.min(min,nums[i]);
if (i+'a'=='l' || i+'a'=='o')
min = Math.min(min,nums[i]/2);
}
return min;
}