“气球”的最大数量

“气球”的最大数量

题目链接

leetcode

题目描述

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

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

示例 1:

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

示例 2:

输入:text = "loonbalxballpoon"
输出:2

示例 3:

输入:text = "leetcode"
输出:0

提示:

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

题目解法

分析:根据描述信息,字符串中找字母拼成单词(balloon),这个单词有五个字母组成,可以使用数组来分别存储这个五个字母,对字符串进行遍历。单词中有两个字母是相同的,所有要除于2,再取出数组中最小的数就是单词数量了。

    public static int maxNumberOfBalloons(String text) {
        int[] cns = new int[5];
        for(int i = 0; i < text.length(); ++i) {
            char c = text.charAt(i);
            //判断字符串中是否包含这个字母
            if(c == 'b') {
                cns[0]++;
            }else if (c == 'a') {
                cns[1]++;
            }else if(c == 'l') {
                cns[2]++;
            }else if(c == 'o') {
                cns[3]++;
            }else if(c == 'n') {
                cns[4]++;
            }
        }
        cns[2] = cns[2] / 2;
        cns[3] = cns[3] / 2;
        //返回数组中最小的数,转为整型
        return Arrays.stream(cns).min().getAsInt();
    }
posted @   China熊孩子  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示