news 2026/7/2 9:25:52

[LC优选算法#14] 模拟 | 外观数列 | 数青蛙

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[LC优选算法#14] 模拟 | 外观数列 | 数青蛙

1. 外观数列

外观数列

这道题本质上是统计字符串中连续且相同的字符个数,依据题意模拟即可。

解题思路:

  1. 模拟 + 双指针:用双指针标记相同连续字符的区间,遍历字符串,拼接区间的结果即可。
classSolution{public:stringcountAndSay(intn){string ret="1";for(inti=1;i<n;i++){string s="";intlen=ret.size();for(intleft=0,right=0;right<len;){while(right<len&&ret[left]==ret[right]){right++;}s+=to_string(right-left)+ret[left];//注意两个字符串的作用!left=right;}ret=s;}returnret;}};

2. 数青蛙

数青蛙

解题思路:

  1. 模拟:模拟青蛙的叫声,假设青蛙的叫声是一个持续的croak
  • 当遇到r, o, a, k这四个字符的时候,去看每一个字符对应的前驱字符,看是否可以和之前的叫声拼接:如果有,则继续向后直至末尾;如果没有,直接返回-1
  • 当遇到c字符的时候,由于题目要求青蛙的数目最少,因此在开始记录叫声前,先看看k字符是否存在青蛙:如果有,则让这个青蛙继续c开始向后持续叫;如果没有,则添加一只新青蛙,再开始。

小巧思:在判断字符时可以使用哈希映射的方法,使用unordered_map存储croak,字符的下标为key,字符为value,这样就避免重复写if-else了。

classSolution{public:intminNumberOfFrogs(string croakOfFrogs){string t="croak";intn=t.size();unordered_map<char,int>hash;vector<int>pos(t.size(),0);//哈希表存下标for(inti=0;i<n;i++){hash[t[i]]=i;}for(autoch:croakOfFrogs){//c字符if(ch=='c'){if(pos[n-1]!=0){pos[n-1]--;}pos[0]++;}//其他字符else{if(pos[hash[ch]-1]!=0){pos[hash[ch]-1]--;pos[hash[ch]]++;}else{return-1;}}}for(inti=0;i<n-1;i++){if(pos[i]!=0){return-1;}}returnpos[n-1];}};

// 本期内容就到这里啦,如果对你有帮助,请三连支持!我是青云,我们下期见^_~

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

3分钟解锁150+英雄皮肤:R3nzSkin国服免费换肤工具使用指南

3分钟解锁150英雄皮肤&#xff1a;R3nzSkin国服免费换肤工具使用指南 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server 你是否曾因为心仪的皮肤价格昂贵而…

作者头像 李华
网站建设 2026/7/2 9:24:05

dnSpy完全指南:7个核心技巧掌握.NET程序集调试与编辑

dnSpy完全指南&#xff1a;7个核心技巧掌握.NET程序集调试与编辑 【免费下载链接】dnSpy Unofficial revival of the well known .NET debugger and assembly editor, dnSpy 项目地址: https://gitcode.com/gh_mirrors/dns/dnSpy 你是否曾经面对一个没有源代码的.NET程序…

作者头像 李华
网站建设 2026/7/2 9:23:47

重视思维培养?蕃茄田适合哪些家庭的需求

打破断续学习&#xff1a;如何筛选真正的2-15岁连贯艺术课在为儿童规划美育路径时&#xff0c;许多家长容易陷入“看成品、比技法”的误区&#xff0c;忽略了教育体系的长期逻辑。所谓2-15岁连贯艺术课&#xff0c;核心不在于时长的简单累加&#xff0c;而在于课程底层逻辑是否…

作者头像 李华
网站建设 2026/7/2 9:19:29

Grafana 生产环境运维与排错:日志、权限与升级实战

系列导读 你现在看到的是《从零到一:Grafana 告警与看板体系实战搭建》的第 10/10 篇,当前这篇会重点解决:让读者具备独立运维 Grafana 的能力,从容应对生产事故。 上一篇回顾:第 9 篇《Grafana 告警与看板性能优化:缓存、查询加速与资源限制》主要聚焦 让读者掌握生产…

作者头像 李华
网站建设 2026/7/2 9:18:34

NifSkope深度解析:Bethesda游戏引擎3D模型编辑核心技术实战

NifSkope深度解析&#xff1a;Bethesda游戏引擎3D模型编辑核心技术实战 【免费下载链接】nifskope A git repository for nifskope. 项目地址: https://gitcode.com/gh_mirrors/ni/nifskope 在游戏开发与模组制作领域&#xff0c;处理Bethesda系列游戏的NIF格式3D模型文…

作者头像 李华