“气球” 的最大数量Java
文章发布较早,内容可能过时,阅读注意甄别。
# 题目
给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。
字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。
示例 1:
输入:text = "nlaebolko"
输出:1
示例 2:
输入:text = "loonbalxballpoon"
输出:2
示例 3:
输入:text = "leetcode"
输出:0
提示:
- 1 <= text.length <= 10^4
- text 全部由小写英文字母组成
# 思路
Map<Character,Integer>
# 解法
class Solution {
public int maxNumberOfBalloons(String text) {
Map<Character,Integer> map=new HashMap<>();
for(int i=0;i<text.length();i++){
char c=text.charAt(i);
map.put(c,map.getOrDefault(c,0)+1);
}
int res=0;
int b=map.getOrDefault('b',0);
int a=map.getOrDefault('a',0);
int l=map.getOrDefault('l',0);
int o=map.getOrDefault('o',0);
int n=map.getOrDefault('n',0);
return res=Math.min(b,Math.min(a,Math.min(n,Math.min(l/2,o/2))));
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 总结
- 分析出几种情况,然后分别对各个情况实现