news 2026/7/13 8:14:53

【优选算法必刷100题】第43题(模拟):数青蛙

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【优选算法必刷100题】第43题(模拟):数青蛙

🔥个人主页:Cx330🌸

❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C++知识分享》

《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔

《Git深度解析》:版本管理实战全解

🌟心向往之行必能至


🎥Cx330🌸的简介:


前言:

聚焦算法题实战,系统讲解三大核心板块:“精准定位最优解”——优选算法,“简化逻辑表达,系统性探索与剪枝优化”——递归与回溯,“以局部最优换全局高效”——贪心算法,讲解思路与代码实现,帮助大家快速提升代码能力


43. 数青蛙

题目链接:

1419. 数青蛙 - 力扣(LeetCode)

题目描述:

题目示例:

算法原理(模拟):

思路:
  • 当遇到'r' 'o' 'a' 'k'这四个字符的时候,我们要去看看每一个字符对应的前驱字符,有没有青蛙叫出来。如果有青蛙叫出来,那么就让这个青蛙接下来喊出这个字符;如果没有,直接返回-1
  • 当遇到 ‘c’ 这个字符的时候,我们去看看 ‘k’ 这个字符有没有青蛙叫出来。如果有,就让这个青蛙继续去 ‘c’ 这个字符;如果没有的话,就重新整一个青蛙出来
模拟解法代码(C++):
class Solution { public: int minNumberOfFrogs(string croakOfFrogs) { string t="croak"; int n=t.size(); vector<int> hash(n);//用数组来模拟哈希 unordered_map<char,int> index;//【x,x字符对应的下标】 for(int i=0;i<n;i++) index[t[i]]=i; for(auto ch:croakOfFrogs) { if(ch=='c') { if(hash[n-1]!=0) hash[n-1]--; hash[0]++; } else { int i=index[ch]; if(hash[i-1]==0) return -1; hash[i-1]--;hash[i]++; } } for(int i=0;i<n-1;i++) if(hash[i]!=0) return -1; return hash[n-1]; } };

博主手记(字体还请见谅哈):


结尾:

总结:算法核心是追踪"croak"序列的完成状态:遇到'c'时检查是否有完成叫声的青蛙可复用,否则新增青蛙;遇到其他字符时检查前驱字符是否存在。使用哈希表记录字符位置,数组跟踪各阶段叫声数量。若最终中间状态不为零或无法匹配前驱字符则返回-1

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 18:38:59

K8s-1.29.2二进制安装-第一章

从本章来完成安装k8s学习的最后一种安装方式(二进制安装)&#xff0c;系统使用Rockly9.6&#xff0c;K8s版本1.29.2&#xff0c;一共会分成几张进行编写。1. 安装Topo2.环境初始化 1、镜像下载(所有节点) # 官方下载地址 https://rockylinux.org/download # 阿里云镜像下载地址…

作者头像 李华
网站建设 2026/7/12 18:12:43

【2025最新】Honeyview下载安装教程:快速上手这款高效图片浏览器

前言 在日常处理大量图片的工作中&#xff0c;一款轻量、启动快、支持多种格式的图片浏览工具能够极大提高效率。Honeyview作为一款深受技术用户喜爱的图片浏览软件&#xff0c;以其“轻、快、兼容性强”的特点脱颖而出。 本文将为你详细讲解Honeyview的下载安装全过程&#x…

作者头像 李华
网站建设 2026/7/13 13:35:54

AI 扩图:从像素填充到场景延伸的技术逻辑

在数字内容生产中&#xff0c;用户常面临“图片尺寸不足”的痛点——从电商产品图需要高清放大&#xff0c;到老照片修复需要延伸场景&#xff0c;传统像素填充方法早已难以满足精细化需求。比如传统双线性插值处理1080P图片时&#xff0c;PSNR&#xff08;峰值信噪比&#xff…

作者头像 李华
网站建设 2026/7/12 14:09:46

CentOS7/8在线yum源自动设置

1. 前提说明CentOS7/8版本官方已经归档&#xff0c;默认的安装源无法使用&#xff0c;而且网上大多数提供的国内yum地址也大部分失效。故为了快速有效的使用在线yum&#xff0c;结合国内清华源&#xff0c;来生成有效的repo文件&#xff0c;帮助实施人员解决手动配置慢等问题。…

作者头像 李华
网站建设 2026/7/12 13:25:16

12月31日截止!2026年个税专项扣除确认

动动手明年工资可能变多哦&#xff5e;确认时间&#xff1a;12月1日—12月31日一定要记得操作&#xff01;错过的话明年1月起单位会暂停扣除&#xff0c;到手工资可能变少&#xff0c;后续补办超麻烦&#xff01;手机APP操作指南&#xff08;个人所得税APP&#xff09;&#xf…

作者头像 李华
网站建设 2026/7/10 11:26:33

C进阶之内存对齐,硬件总线和高并发伪共享的底层原理

在 C 语言的面试和实际开发中&#xff0c;sizeof 是一个出现频率极高的关键词。初学者往往认为它只是用来计算变量占用空间的&#xff0c;但实际上&#xff0c;sizeof 的背后隐藏着CPU 架构、硬件总线甚至高并发性能的秘密。 今天&#xff0c;我们不注重于对齐规则&#xff0c;…

作者头像 李华