解题思路:
1.遍历字符串,分别统计字符串中b、a、l、o、n的个数
2.由于"balloon"中l、o的的个数都是2个,所以为了计算方便,将这两个字符的个数除2
3.取b、a、l、o、n的个数中的最小值,就是最多可以拼凑出的单词
代码实现:
class Solution {
public int maxNumberOfBalloons(String text) {
int[] nums=new int[26];
int len=text.length();
for(int i=0;i<len;++i){
if(text.charAt(i)=='b'){
nums['b'-'a']++;
}
else if(text.charAt(i)=='a'){
nums['a'-'a']++;
}
else if(text.charAt(i)=='l'){
nums['l'-'a']++;
}
else if(text.charAt(i)=='o'){
nums['o'-'a']++;
}
else if(text.charAt(i)=='n'){
nums['n'-'a']++;
}
}
nums['l'-'a']=nums['l'-'a']>>1;
nums['o'-'a']=nums['o'-'a']>>1;
char[] arr={'b','a','l','o','n'};
int min=10001;
for(int i=0;i<5;++i){
if(min>nums[arr[i]-'a']){
min=nums[arr[i]-'a'];
}
}
return min;
}
}