给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 "croak" )的组合。由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFrogs 中会混合多个 “croak” 请你返回模拟字符串中所有蛙鸣所需不同青蛙的最少数目。

注意:要想发出蛙鸣 "croak",青蛙必须 依序 输出 ‘c’, ’r’, ’o’, ’a’, ’k’ 这 5 个字母。如果没有输出全部五个字母,那么它就不会发出声音。

如果字符串 croakOfFrogs 不是由若干有效的 "croak" 字符混合而成,请返回 -1 。

示例 1:

输入:croakOfFrogs = "croakcroak"
输出:1
解释:一只青蛙 “呱呱” 两次

示例 2:

输入:croakOfFrogs = "crcoakroak"
输出:2
解释:最少需要两只青蛙,“呱呱” 声用黑体标注
第一只青蛙 "crcoakroak"
第二只青蛙 "crcoakroak"

示例 3:

输入:croakOfFrogs = "croakcrook"
输出:-1
解释:给出的字符串不是 "croak" 的有效组合。

示例 4:

输入:croakOfFrogs = "croakcroa"
输出:-1

提示:

  • 1 <= croakOfFrogs.length <= 10^5
  • 字符串中的字符只有 'c''r''o''a' 或者 'k'

C++

class Solution {
public:int minNumberOfFrogs(string croakOfFrogs) {map<char,int> tmp;int res=0;for(auto c:croakOfFrogs){if('c'==c){tmp['c']++;res=max(res,tmp['c']);}else if('r'==c){tmp['r']++;}else if('o'==c){tmp['o']++;}else if('a'==c){tmp['a']++;}else{tmp['k']++;}if(tmp['r']>tmp['c'] || tmp['o']>tmp['r'] || tmp['a']>tmp['o'] || tmp['k']>tmp['a']){return -1;}if('k'==c){tmp['c']--;tmp['r']--;tmp['o']--;tmp['a']--;tmp['k']--;}}for(auto it:tmp){if(it.second!=0){return -1;}}return res;}
};

leetcode 5390. 数青蛙(C++)相关推荐

  1. LeetCode - 1419 数青蛙

    题目来源 1419. 数青蛙 - 力扣(LeetCode) 题目描述 给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 "croak" )的组合.由于同 ...

  2. LeetCode 1419. 数青蛙(脑洞题)

    1. 题目 给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 "croak" )的组合. 由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFro ...

  3. leetcode 1419 数青蛙

    描述: 给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 "croak" )的组合.由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFrogs ...

  4. LeetCode 三数之和 — 优化解法

    LeetCode 三数之和 - 改进解法 题目:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复 ...

  5. LeetCode1419. 数青蛙

    数青蛙 给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 "croak" )的组合.由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFrogs ...

  6. 数青蛙​、[USACO10FEB]Chocolate Giving S

    一.1419. 数青蛙 思路 这道题有俩种解法,一是记数,二是贪心 记数: 这是官方的题解 我们用frog_ num来表示现在正在发出蛙鸣声的青蛙数目,用cnt[c] 示已经发出-次有效蛙鸣中的字符c ...

  7. java数青蛙_第十一届蓝桥杯第三场软件类省赛 C++ B组 题解

    试题 A: 数青蛙 "一只青蛙一张嘴,两只眼睛四条腿.两只青蛙两张嘴,四只眼睛八条腿.三只青蛙三张嘴,六只眼睛十二条腿.--二十只青蛙二十张嘴,四十只眼睛八十条腿." 请问上面这段 ...

  8. Leetcode 1419:数青蛙(超详细的解法!!!)

    给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 "croak" )的组合.由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFrogs 中会混合 ...

  9. java数青蛙_『字节跳动LeetCode联合周赛』--周赛185(JavaScript) | OFEII

    前言

  10. leetcode 263, 264, 1201, 313. Ugly Number I, II, III, Super Ugly Number(leetcode 丑数问题合集)

    263. Ugly Number https://leetcode.com/problems/ugly-number/ 本题题解由下面的 264. Ugly Number II 改造而来,所以效率会比 ...

最新文章

  1. JavaScript面试系列:JavaScript设计模式之桥接模式和懒加载
  2. 11个三相异步电动机常见故障与维修方法。
  3. struts2类型转换+校验
  4. linux远程执行迷路,linux操作系统基础
  5. Linux shell脚本的字符串截取
  6. netmon中解析非1433端口的TDS协议
  7. wamp下安装php的xdebug调试的方法
  8. RTCM CRC-24校验计算
  9. 说下我自己对空号检测的理解跟心得
  10. linux中zip文件能转换tar,linux 怎么把rar转换成zip 或者 tar
  11. 计算机论文目录大全,毕业论文目录范文
  12. 【百科】有关地震的一些知识
  13. hardfault常见原因_keil遇到hardfault时原因的查找
  14. 将真分数分解为埃及分数
  15. 如何开发Chrome扩展程序
  16. 应用该不该为视网膜显示屏而优化?这是个问题
  17. 扬帆起航——第一篇博客
  18. 最全的android各国语言对照表-转载
  19. 最令我。。。。的一首诗
  20. 浅谈安防监控中视频图像处理技术

热门文章

  1. java毕业生设计web人力资源管理系统计算机源码+系统+mysql+调试部署+lw
  2. 虚拟现实未来前景无限
  3. 3.3.3 使用集线器的星形拓补
  4. 使用php生成条形码
  5. Hexo + Butterfly 自定义右键菜单
  6. 简体与繁体的相互转换
  7. python中的def是什么意思啊_等号上面有个def是什么意思?
  8. 【HAOI2009】【毛毛虫】【树形dp】
  9. 苹果科学计算机使用方法,iPhone的计算器五大使用技巧
  10. 董明珠成为带货女王,并非格力值得高兴的事情