LeetCode 1189. Maximum Number of Balloons

LeetCode 1189. Maximum Number of Balloons (“气球” 的最大数量)

题目

链接

https://leetcode-cn.com/problems/maximum-number-of-balloons/

问题描述

给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。

字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。

示例

输入:text = "nlaebolko"
输出:1

提示

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

思路

balloon,里面有两个l,o,别的三个字母都只有一个,只需要统计五个字母的个数,计算一共能凑够多少个气球即可。

复杂度分析

时间复杂度 O(n)
空间复杂度 O(1)

代码

Java

    public int maxNumberOfBalloons(String text) {
        int b = 0, a = 0, l = 0, o = 0, n = 0;
        for (int i = 0; i < text.length(); ++i) {
            char ch = text.charAt(i);
            if (ch == 'b') {
                b++;
            } else if (ch == 'a') {
                a++;
            } else if (ch == 'l') {
                l++;
            } else if (ch == 'o') {
                o++;
            } else if (ch == 'n') {
                n++;
            }
        }
        l = l / 2;
        o = o / 2;
        int ans = Math.min(Math.min(Math.min(b, a), l), Math.min(o, n));
        return ans;
    }
posted @ 2022-02-14 23:42  cheng102e  阅读(34)  评论(0编辑  收藏  举报