「 每日一练,快乐水题 」1189. “气球” 的最大数量

Posted 谁吃薄荷糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「 每日一练,快乐水题 」1189. “气球” 的最大数量相关的知识,希望对你有一定的参考价值。

✅力扣原题:

力扣链接:1189. “气球” 的最大数量

✅题目简述:

给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)。
字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。

✅解题思路:

1.遍历字符串,插入哈希表;
2.统计组成一个目标单词的字符数目组合要求;
3.over;

✅C++代码:

class Solution 
public:
    int maxNumberOfBalloons(string text) 
        unordered_map<char,int> umap;

        int nstr = text.size();
        for(int i = 0; i < nstr; i++)
        
            ++umap[text[i]];
        

        int nret = 0;

        vector<int> vec;   
        for(auto it = umap.begin(); it!=umap.end();it++)
        
            if(it->first == 'b')
            
                vec.push_back(it->second);
            
            else if (it->first == 'a')
            
                vec.push_back(it->second);
            
            else if (it->first == 'l')
            
                vec.push_back(it->second/2);
            
            else if (it->first == 'o')
            
                vec.push_back(it->second/2);
                
            else if (it->first == 'n')
            
                vec.push_back(it->second);
                                
        

        sort(vec.begin(), vec.end());

        int nvec = vec.size();
        if(nvec == 5)
        
            nret = vec[0];
        

        return nret;
    
;

✅结果展示:

以上是关于「 每日一练,快乐水题 」1189. “气球” 的最大数量的主要内容,如果未能解决你的问题,请参考以下文章

「 每日一练,快乐水题 」1089. 复写零

「 每日一练,快乐水题 」383. 赎金信

「 每日一练,快乐水题 」141. 环形链表

「 每日一练,快乐水题 」1051. 高度检查器

「 每日一练,快乐水题 」1331. 数组序号转换

「 每日一练,快乐水题 」908. 最小差值 I