LeetCode 1189. Maximum Number of Balloons
LeetCode 1189. Maximum Number of Balloons (“气球” 的最大数量)
题目
链接
https://leetcode-cn.com/problems/maximum-number-of-balloons/
问题描述
给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。
字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。
示例
输入:text = "nlaebolko"
输出:1
提示
1 <= text.length <= 10^4
text 全部由小写英文字母组成
思路
balloon,里面有两个l,o,别的三个字母都只有一个,只需要统计五个字母的个数,计算一共能凑够多少个气球即可。
复杂度分析
时间复杂度 O(n)
空间复杂度 O(1)
代码
Java
public int maxNumberOfBalloons(String text) {
int b = 0, a = 0, l = 0, o = 0, n = 0;
for (int i = 0; i < text.length(); ++i) {
char ch = text.charAt(i);
if (ch == 'b') {
b++;
} else if (ch == 'a') {
a++;
} else if (ch == 'l') {
l++;
} else if (ch == 'o') {
o++;
} else if (ch == 'n') {
n++;
}
}
l = l / 2;
o = o / 2;
int ans = Math.min(Math.min(Math.min(b, a), l), Math.min(o, n));
return ans;
}