信息学奥赛一本通C++语言——1148:连续出现的字符
作者:互联网
【题目描述】
给定一个字符串,在字符串中找到第一个连续出现至少k次的字符。
【输入】
第一行包含一个正整数k,表示至少需要连续出现的次数。1 ≤ k ≤ 1000。
第二行包含需要查找的字符串。字符串长度在1到2500之间,且不包含任何空白符。
【输出】
若存在连续出现至少k次的字符,输出该字符;否则输出No。
【输入样例】
3
abcccaaab
【输出样例】
c
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main() {
int k,len,cnt=1;
char str[2500];
cin>>k;
cin>>str;
len=strlen(str);
for(int i=0; i<len; i++) {
if(str[i]!=str[i+1]) {//当前项与下一项是不相等,重置计数器
cnt=1;
continue;
}
if((++cnt)==k) {//计数到K就输出,并终止程序
cout<<str[i];
return 0;
}
}
cout<<"No";
return 0;
}
标签:字符,奥赛,输出,int,1148,C++,str,字符串,include 来源: https://blog.csdn.net/weixin_46272402/article/details/104896971