【ACM】连续出现的字符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN___CSDN/article/details/83625029

【描述】给定一个字符串,在字符串中找到第一个连续出现k次的字符

【输入】第一行包含一个正整数k,表示至少需要连续出现的次数。1<=k<=1000。第二行包含需要查找的字符串。字符串的长度在1到1000之间,且不包含任何空白字符。

【输出】若存在连续出现至少k次的字符,输出该字符;否则输出No。

【样例输入】

3

abcccaaab

【样例输出】

//给定一个字符串,在字符串中找出第一个连续出现k次的字符
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
int main ()
{
	int m,n,i;
	char a[1010];
	while(scanf("%d",&n)!=EOF)
	{	
		cin>>a;
		int len=strlen(a);
		int l=0,flag=0;
		for(i=0;i<=len;)
		{
			if(a[i]==a[l])
			{
				i++;
			}
			else 
			{
				if(i-l>=n)
				{
					flag=1;
					break;
				}
				else
				{
					l=i;
				}
			}
		}
		if(flag)
		{
			cout<<a[l]<<endl;
		}
		else
		{
			cout<<"No"<<endl; 
		}
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/CSDN___CSDN/article/details/83625029
今日推荐