题解:洛谷 B2126 连续出现的字符

张开发
2026/4/27 10:52:21 15 分钟阅读

分享文章

题解:洛谷 B2126 连续出现的字符
本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。欢迎大家订阅我的专栏算法题解C与Python实现附上汇总贴算法竞赛备考冲刺必刷题C | 汇总【题目来源】洛谷B2126 连续出现的字符 - 洛谷【题目描述】给定一个字符串在字符串中寻找第一个连续出现次数不低于k kk次的字符。【输入】2 22行。第1 11行是k kk第2 22行是仅包含大小写字母的字符串。【输出】字符串中第一个连续出现次数不低于k次的字符。如果没有符合条件的字符输出No。【输入样例】3 abcccaaab【输出样例】c【算法标签】#入门# #语法基础#【代码详解】#includebits/stdc.husingnamespacestd;intmain(){intk;// 需要寻找的连续出现次数intcn1;// 当前字符连续出现的次数初始化为1intlen;// 字符串长度cink;// 输入kchars[2505];// 输入字符串cins;// 输入字符串// 特殊情况处理k1if(k1)// 如果k为1为特例{couts[0];// 直接输出第0个字符即为连续出现1次的字符return0;// 结束程序}lenstrlen(s);// 获取字符串长度// 遍历字符串从第2个字符开始下标1for(inti1;ilen;i){if(s[i]s[i-1])// 如果当前字符和前一个字符相同{cn;// 那么字符连续出现连续出现的次数加1if(cnk)// 如果已经连续出现k次{couts[i];// 输出这个字符return0;// 结束程序}}else// 如果当前字符与前一个字符不同{cn1;// 那么重新开始计数当前字符连续出现1次}}coutNo;// 如果没有能达到连续出现k次的情况输出Noreturn0;// 程序正常结束}【运行结果】3 abcccaaab c

更多文章