0
点赞
收藏
分享

微信扫一扫

LeetCode 1189. “气球” 的最大数量题解

卿卿如梦 2022-02-13 阅读 61

1189. “气球” 的最大数量题解

题目来源: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];
    }
};
举报

相关推荐

0 条评论