连续出现的字符(信息学奥赛一本通-1148)
【题目描述】
给定一个字符串,在字符串中找到第一个连续出现至少k次的字符。
【输入】
第一行包含一个正整数k,表示至少需要连续出现的次数。1 ≤ k ≤ 1000。
第二行包含需要查找的字符串。字符串长度在1到2500之间,且不包含任何空白符。
【输出】
若存在连续出现至少k次的字符,输出该字符;否则输出No。
【输入样例】
3
abcccaaab【输出样例】
c
【题解代码】
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n; cin >> n;
string s; cin >> s;
int cnt = 1;
for (int i = 1; i < s.size(); i++)
{
if (s[i] == s[i - 1])cnt++;
else cnt = 1;
if (cnt == n)
{
cout << s[i];
return 0;
}
}
cout << "No";
return 0;
}