1148:连续出现的字符
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 37344 通过数: 15112
【题目描述】
给定一个字符串,在字符串中找到第一个连续出现至少k次的字符。
【输入】
第一行包含一个正整数k,表示至少需要连续出现的次数。1 ≤ k ≤ 1000。
第二行包含需要查找的字符串。字符串长度在1到2500之间,且不包含任何空白符。
【输出】
若存在连续出现至少k次的字符,输出该字符;否则输出No。
【输入样例】
3
abcccaaab
【输出样例】
c
#include<iostream>
#include<cmath>
#include<cstring>
char a[2505];
using namespace std;
int main()
{
int m,n,i,j=0,k,t,sum=0;//标志j
char c;
scanf("%d",&n);
scanf("%s",a);
m=strlen(a);//字符的长度
for(i=0;i<m;)//从第一个开始
{
c=a[i];//取第i个放在c中
while(c==a[i++])//和自己和下面的相同吗
sum++; //计数加1
if(sum>=n)//如果大于等于n,第一个连续出现至少n次的字符
{
printf("%c",c);
j=1;
break; }
sum=0;//没相同的,计数置0
i--;//因为前面自加了1,指针指向了下一个
}
if(j==0)printf("No");
return 0;
}