《算法闯关指南:优选算法--模拟》--43.数青蛙

《算法闯关指南:优选算法--模拟》--43.数青蛙
在这里插入图片描述

🔥草莓熊Lotso:个人主页
❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》
✨生活是默默的坚持,毅力是永久的享受!


🎬 博主简介:

在这里插入图片描述

文章目录


前言:

聚焦算法题实战,系统讲解三大核心板块:优选算法:剖析动态规划、二分法等高效策略,学会寻找“最优解”。 递归与回溯:掌握问题分解与状态回退,攻克组合、排列等难题。 贪心算法:理解“局部最优”到“全局最优”的思路,解决区间调度等问题 内容以题带点,讲解思路与代码实现,帮助大家快速提升代码能力。

43. 数青蛙

题目链接

1419. 数青蛙 - 力扣(LeetCode)

题目描述

在这里插入图片描述


题目示例

在这里插入图片描述

解法(模拟+分情况讨论):

算法思路:

模拟青蛙的叫声。

  • 当遇到 'r' 'o' 'a' 'k' 这四个字符的时候,我们要去看看每一个字符对应的前驱字符,有没有青蛙叫出来。如果有青蛙叫出来,那么就让这个青蛙接下来喊出这个字符;如果没有,直接返回 -1
  • 当遇到 ‘c’ 这个字符的时候,我们去看看 ‘k’ 这个字符有没有青蛙叫出来。如果有,就让这个青蛙继续去 ‘c’ 这个字符;如果没有的话,就重新整一个青蛙出来

C++算法代码:

classSolution{public:intminNumberOfFrogs(string croakOfFrogs){ string s="croak";int n=s.size(); unordered_map<char,int> index;//记录字符映射下标关系 vector<int>hash(n);//数组模拟哈希表for(int i=0;i<n;i++) index[s[i]]=i;for(auto& ch:croakOfFrogs){if(ch=='c'){if(hash[n-1]!=0) hash[n-1]--; hash[0]++;}else{int t=index[ch];if(hash[t-1]==0)return-1; hash[t-1]--,hash[t]++;}}for(int i=0;i<n-1;i++)if(hash[i]!=0)return-1;return hash[n-1];}};

算法总结&&笔记展示:

笔记字有点丑,大家见谅:

在这里插入图片描述


在这里插入图片描述

结尾:

🍓 我是草莓熊 Lotso!若这篇技术干货帮你打通了学习中的卡点: 👀 【关注】跟我一起深耕技术领域,从基础到进阶,见证每一次成长 ❤️ 【点赞】让优质内容被更多人看见,让知识传递更有力量 ⭐ 【收藏】把核心知识点、实战技巧存好,需要时直接查、随时用 💬 【评论】分享你的经验或疑问(比如曾踩过的技术坑?),一起交流避坑 🗳️ 【投票】用你的选择助力社区内容方向,告诉大家哪个技术点最该重点拆解 技术之路难免有困惑,但同行的人会让前进更有方向~愿我们都能在自己专注的领域里,一步步靠近心中的技术目标! 

结语:本文探讨了LeetCode 1419题"数青蛙"的解法,通过模拟青蛙叫声过程,分析字符序列croak的匹配逻辑。算法使用哈希表记录字符位置,并动态维护各阶段字符计数:当遇到c时复用已完成k的青蛙或新增青蛙;其他字符则需前驱字符存在才能继续。最后检查未完成序列的青蛙数量。解法高效且思路清晰。

✨把这些内容吃透超牛的!放松下吧✨ʕ˘ᴥ˘ʔづきらど

Read more

【代码管理】在本地使用github和gitee之后,可能存在冲突,导致再次提交代码时提示Couldn‘t connect to server

【代码管理】在本地使用github和gitee之后,可能存在冲突,导致再次提交代码时提示Couldn‘t connect to server

大家好,我是全栈小5,欢迎来到《小5讲堂》。 这是《源代码管理工具》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 * 前言 * 错误提示 * 解决方案 * 方案1:临时关闭 Git 的代理设置(推荐先尝试) * 方案2:检查并启动代理服务 * 方案3:直接使用命令行取消代理后克隆 * 方案4:检查环境变量 * 针对 Windows 系统的具体操作 * 方法1:使用 Git Bash 或命令提示符 * 方法2:检查全局 Git 配置 * 验证解决方案 * 如果您确实需要代理 * 为什么会冲突 * 1. 代理配置冲突 * 问题原因: * 典型症状: * 2. 认证信息冲突 * SSH 密钥冲突:

By Ne0inhk
AtomGit 首发!双模型 PK 赛:我用 GLM-5 和 Qwen3.5 一句话生成游戏,谁更强?

AtomGit 首发!双模型 PK 赛:我用 GLM-5 和 Qwen3.5 一句话生成游戏,谁更强?

活动入口:AtomGit 首发模型体验活动 一、项目背景 春节期间,AtomGit AI 社区首发上线了多款开源大模型,包括 GLM-5、Qwen3.5、DeepSeek 等,覆盖文本生成、代码开发、多模态等多个领域。 作为一个喜欢折腾的开发者,我萌生了一个想法:能不能用 AI 双模型并行生成游戏,让用户对比投票选择最佳版本? 这个想法的核心价值: * 横向对比:两个模型同台竞技,优劣一目了然 * 效率翻倍:一次请求,获得两个版本的代码 * 用户参与:投票机制增加趣味性和互动性 二、用 GLM-5 生成项目原型 我直接在 AtomGit 平台上问 GLM-5,让它帮我搭个项目骨架: 我的提问: 请生成一个完整的"一句话生成游戏对比工具"项目代码。 前端Vue3,后端Fastify。

By Ne0inhk

Qwen3-8B vs 其他8B模型:开源大模型性能对比实测

Qwen3-8B vs 其他8B模型:开源大模型性能对比实测 在当前大语言模型“军备竞赛”愈演愈烈的背景下,千亿参数模型固然引人注目,但真正决定AI技术能否落地千行百业的,往往是那些能在普通硬件上跑得动、用得起、管得住的轻量级选手。当A100集群不再是入场券,8B级别的模型正悄然成为开发者手中的“主力战力”。 这其中,阿里通义千问最新发布的 Qwen3-8B 引起了不小关注——它不仅宣称在多项基准测试中超越同级对手,更以对中文场景的深度优化和长达32K的上下文支持,试图在Llama3-8B、Gemma-7B、Mistral-7B等国际主流模型中杀出一条差异化路径。 那么,这款被寄予厚望的国产8B模型,到底强在哪里?我们不妨抛开宣传口径,从技术细节到实际部署,做一次穿透式的分析。 为什么是8B?一个被低估的“黄金平衡点” 很多人认为,大模型越大越好。但现实很骨感:70B模型即使用量化技术,在消费级显卡上也步履维艰;而小至1B~3B的模型又难以胜任复杂推理任务。8B参数规模恰好落在一个微妙的“甜区”—— * 它有足够的容量学习复杂的语言模式和常识知识; * FP16精度下

By Ne0inhk

idea中使用git

Git常用记录 * 一、Git基本配置 * 1.1 Git设置用户账号密码邮箱 * 1.2 Git生成秘钥 * 二、IDEA中使用Git * 1、配置idea * 2、克隆远程仓库 * 3、拉取代码、提交代码到本机仓库 * 4 、git项目回滚,回退版本 * 5、创建分支、合并分支 原文链接: IDEA 使用Git图文详解 一、Git基本配置 1.1 Git设置用户账号密码邮箱 查看信息: 查看用户名 :git config user.name 查看密码: git config user.password 查看邮箱:git config user.email 设置信息(–global

By Ne0inhk