1148:连续出现的字符
时间限制: 1000 ms 内存限制: 65536 KB
【题目描述】
给定一个字符串,在字符串中找到第一个连续出现至少k次的字符。
【输入】
第一行包含一个正整数k,表示至少需要连续出现的次数。1 ≤ k ≤ 1000。
第二行包含需要查找的字符串。字符串长度在1到2500之间,且不包含任何空白符。
【输出】
若存在连续出现至少k次的字符,输出该字符;否则输出No。
【输入样例】
3 abcccaaab
【输出样例】
c
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
int k;
cin>>k;
cin>>s;
int n=1;
int l=s.size();//求得s的长度。
if (k==1)//特殊情况:k=1.
{
cout<<s[0];//输出第一个字符。
return 0;//结束程序。
}
else
for (int i=0;i<l;i++)
{
int j=i;
while (s[j]==s[j+1])//判断连续两个字符是否相等。
{
n++;
if (n==k)//如果满足条件。
{
cout<<s[i];//输出
return 0;//结束程序
}
j++;
}
n=1;
}
printf("No");//未找到,则输出No。
return 0;
}