信息学奥赛一本通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;
}

上一篇:mongodb按照日期分组统计


下一篇:解决Mac在MySQL workbench 中出现的Error 1148