LeetCode 1189. “气球” 的最大数量题解
题解
2022.02.13 每日一题
统计字符串中可以组成”balloon”的数量,挺简单的,只需要统计出来字符串中有多少组可以完整组成 balloon 单词的组数就可以了。
具体代码以及注释如下:
class Solution {
public:
int maxNumberOfBalloons(string text) {
// 新建一个数组用来统计 b、a、l、o、n 各个字符的数量
vector<int> cnt(5, 0);
// 筛选出各个字符,并且统计数量
for (char ch: text) {
if (ch == b) {
cnt[0]++;
} else if (ch == a) {
cnt[1]++;
} else if (ch == l) {
cnt[2]++;
} else if (ch == o) {
cnt[3]++;
} else if (ch == n) {
cnt[4]++;
}
}
// 由于单词 balloon 之中,有两个 l 、 o 组成所以需要除以 2 来判断个数
cnt[2] /= 2;
cnt[3] /= 2;
// 对数组进行排序,返回数组之中的最小值,即为组成 balloon 单词的最小数量
sort(cnt.begin(), cnt.end());
return cnt[0];
}
};
class Solution {
public int maxNumberOfBalloons(String text) {
// 新建一个数组用来统计 b、a、l、o、n 各个字符的数量
int[] cnt = new int[5];
// 筛选出各个字符,并且统计数量
for (int i = 0; i < text.length(); i++) {
char ch = text.charAt(i);
if (ch == b) {
cnt[0]++;
} else if (ch == a) {
cnt[1]++;
} else if (ch == l) {
cnt[2]++;
} else if (ch == o) {
cnt[3]++;
} else if (ch == n) {
cnt[4]++;
}
}
// 由于单词 balloon 之中,有两个 l 、 o 组成所以需要除以 2 来判断个数
cnt[2] /= 2;
cnt[3] /= 2;
// 对数组进行排序,返回数组之中的最小值,即为组成 balloon 单词的最小数量
Arrays.sort(cnt);
return cnt[0];
}
};
下一篇:
likou24链表元素两两交换
