标签:mamicode tco 索引 ati 字符串 tput sys set lock
题目来源于力扣(LeetCode)
题目相关标签:哈希表、字符串
提示:
1 <= text.length <= 10^4
text
全部由小写英文字母组成
遍历 text 字符串转换成的字符数组
通过哈希数组记录下 text 字符串中各元素出现的次数(数组索引为字符元素,值为元素在字符串中出现的次数)
在哈希数组中计算出字符 b、a、l、o、n
各出现的次数
其中
l
与o
需要出现两次才能组成balloon
结果为 b、a、l、o、n
字符中出现次数最小的
public static int maxNumberOfBalloons(String text) {
int[] letters = new int[26];
char[] arr = text.toCharArray();
for (char i : arr) {
letters[i - ‘a‘]++;
}
int res = text.length();
letters[‘l‘ - ‘a‘] /= 2; // l 字符需要出现2次,才能组成单词
letters[‘o‘ - ‘a‘] /= 2; // o 字符需要出现2次,才能组成单词
for (char i : "balon".toCharArray()) {
// b a l o n 字符任一为零时,res 也为 0
res = Math.min(letters[i - ‘a‘], res);
}
return res;
}
public static void main(String[] args) {
String text = "nlaebolko"; // output: 1
// String text = "loonbalxballpoon"; // output: 2
// String text = "leetcode"; // output: 0
int result = maxNumberOfBalloons(text);
System.out.println(result);
}
标签:mamicode tco 索引 ati 字符串 tput sys set lock
原文地址:https://www.cnblogs.com/zhiyin1209/p/13173460.html