1. 程式人生 > >【ACM】連續出現的字元

【ACM】連續出現的字元

【描述】給定一個字串,在字串中找到第一個連續出現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;
}