LeetCode 1419 数青蛙:状态模拟求最少青蛙数量|Java 题解

发布时间:2026/10/7 8:15:27

LeetCode 1419 数青蛙:状态模拟求最少青蛙数量|Java 题解 博客主页小谢同学的小破站✍️本文由小谢同学的小破站原创首发于 CSDN ☕JavaSE专栏JavaSEJavaEE初阶专栏JavaEE初阶JavaEE进阶专栏JavaEE进阶数据结构专栏数据结构⚙️算法专栏算法MySQL初阶专栏MySQL初阶MySQL进阶专栏MySQL进阶计算机网络专栏计算机网络C语言专栏C语言欢迎点赞 收藏⭐ 留言发现错误欢迎指正✨脚踏实地持续深耕奔赴自己的目标✨----- 分割线 -------数青蛙1. 题目解析2. 算法原理3. 编写代码前言这里是小谢同学的一道小小的算法题目,希望这个解法能帮助到你~1. 题目解析简单来说:给你一个字符串,来让你判断这个字符串是不是完整的蛙叫,并且要求返回一个尽可能小的青蛙数量例如:编号输入输出解释示例 1croakcroak1一只青蛙呱呱两次示例 2crcoakroak2最少两只第一只crcoakroak第二只crcoakroak示例 3croakcrook-1不是croak的有效组合示例 4croakcroa-1有青蛙叫到一半就没了简单来说一只青蛙完整叫声顺序c → r → o → a → k遇到c要么启用一只空闲老青蛙要么新增一只青蛙遇到k代表这只青蛙叫完一轮青蛙释放出来可以重复使用中间顺序乱掉、叫到一半中断直接返回-1全程记录同时正在叫的青蛙峰值就是答案。提示约束1 croakOfFrogs.length 10^5字符串中的字符只有c、r、o、a或者k,并没有多余的字符这道题不就是相当于一个模拟的方法?题目要求我们数青蛙,我们进行模拟即可~2. 算法原理建立顺序映射c0r1o2a3k4代表蛙鸣的5个阶段。维护计数器数组统计处在每个阶段的青蛙数量。遍历字符串每一个字符如果是c阶段0如果有已经叫完k阶段空闲青蛙就复用没有空闲总青蛙数1。阶段0计数1。如果是其他字符r/o/a/k看前一个阶段有没有青蛙没有的话说明顺序非法直接返回-1。前一阶段计数减一当前阶段计数加一。当字符是k阶段4叫完了这只青蛙就会回到空闲池可以再次被使用。不断重复这个过程,直到遍历数组结束遍历结束必须保证除k阶段以外其他阶段全部为0。 返回目录3. 编写代码易错点:遍历结束之后一定要校验例如输入ccroak两个 c 开头后面只完成一次 croak有一只青蛙卡在 c 阶段没叫完应该返回-1很多人忘记这一步。k结束之后青蛙不是消失而是变成空闲可以重复再叫一遍 c不需要一直新增青蛙。字符顺序不能乱例如直接出现r前面没有c直接非法返回 - 1。classSolution{publicintminNumberOfFrogs(StringcroakOfFrogs){//转化为字符数组char[]scroakOfFrogs.toCharArray();//创建青蛙叫Stringtcroak;intnt.length();int[]hashnewint[n];//用来存储对应字符和对应字符的下标HashMapCharacter,IntegermapnewHashMap();for(inti0;in;i){map.put(t.charAt(i),i);}for(charch:s){if(cht.charAt(0)){//判断最后一个位置是否有青蛙叫完if(hash[n-1]!0){hash[n-1]--;//复用已经叫完的青蛙}hash[0];}else{//拿到对应字符的下标intindexmap.get(ch);//判断前一个字符是否有if(hash[index-1]0){return-1;}else{hash[index];hash[index-1]--;}}}//防止没有叫完的青蛙for(inti0;in-1;i){if(hash[i]!0){return-1;}}returnhash[n-1];}} 返回目录
延伸阅读

更多相关文章

2026/10/7 8:15:27

PPA-RTL:当大模型开始真正关心“这段 RTL 综合出来怎么样

最近读到一篇 DAC 2025 的工作 PPA-RTL。我觉得它有意思的地方,不是又把 RTL 生成准确率往上推了一点,而是终于把一个更“硬件工程”的问题摆到了模型面前:代码写对之后,功耗、性能、面积怎么办? 论文信息 论文&#x…

2026/10/7 8:50:29

调速系统实战:从双闭环整定到交流矢量控制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 8:50:29

MuJoCo中机械臂关节空间阻抗控制实现与调参实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 8:50:28

晶振工作电压特性:起振裕量与频率偏差的工程本质

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 8:50:28

基于Yalmip的微网优化调度模型详解与工程实践

去年在做一个园区微网能量管理系统项目时,面对风电、光伏、蓄电池和柴油机组四个发电单元,我用基于Yalmip的微网优化调度模型替换了原先if-else堆逻辑的调度策略,运行结果良好,成本降了不少,设备启停次数也更合理。这篇…

2026/10/7 8:45:28

Redhawk-SC输入件配置:构建芯片供电数字孪生体的核心实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/7 8:18:33

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑