B2126题解

· · 题解

可以循环访问字符串。

每次判断从这一位开始,是否有 k 位连续字符。若有,输出这个字符;若没有,继续寻找。

若到最后依然没有合适的字符,输出 \texttt{No}

代码:

#include <iostream>
#include <cstring>
using namespace std;
int main(){
    int k;
    cin>>k;
    char arr[1005];
    cin>>arr;
    int len=(int)strlen(arr);
    bool lianxu_zifu=false;
    for(int i=0;i<len-k;i++){
        char zifu=arr[i];
        bool lianxu=true;
        for(int j=i;j<i+k;j++){//是否有k位连续字符。
            if(arr[j] != zifu){//若不为连续字符,继续寻找。
                lianxu=false;
                break;
            }
        }
        if(lianxu==true){//若找到了,输出这个字符,程序运行结束。
            cout<<zifu;
            return 0;
        }
    }
    cout<<"No";//若依然没有连续字符,输出No。
    return 0;
}