「每日LeetCode」2022年2月13日

本文最后更新于:2023年3月19日 晚上

  1. “气球” 的最大数量

1189. “气球” 的最大数量

给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)
字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 **”balloon”**。

示例 1:
image.png
输入:text = “nlaebolko” 输出:1
示例 2:
image.png
输入:text = “loonbalxballpoon” 输出:2
示例 3:
输入:text = “leetcode” 输出:0

提示:

  • 1 <= text.length <= 10^4
  • text 全部由小写英文字母组成

思路

哈希表计数即可

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
* @param {string} text
* @return {number}
*/
var maxNumberOfBalloons = function (text) {
const map = { b: 0, a: 0, l: 0, o: 0, n: 0 };
let res = 0;
for (const char of text) {
if (typeof map[char] === "number") map[char]++;
}
while (true) {
if (
map["b"] < 1 ||
map["a"] < 1 ||
map["l"] < 2 ||
map["o"] < 2 ||
map["n"] < 1
)
break;
res++;
map["b"] -= 1;
map["a"] -= 1;
map["l"] -= 2;
map["o"] -= 2;
map["n"] -= 1;
}
return res;
};