题目链接:https://leetcode-cn.com/problems/maximum-number-of-balloons/题目描述
给你一个字符串 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; }