求助一道题目
查看原帖
求助一道题目
1025321
midsummer_zyl楼主2023/8/23 20:31

QWQ

题目描述
给定一个字符串,在字符串中找到第n次出现至少k次的字符。

输入格式
第一行包含两个正整数:n,k。n表示第n次出现。k表示至少需要连续出现的次数。1<=n,k<=1000000。

输出格式
若存在第n次连续出现至少k次的字符,输出该字符;否则输出No。

样例
样例输入
样例1
1 3
abcccaaab

样例2
2 3
abcccaaab

样例3
3 3
abcccaaab
样例输出
样例1输出
c

样例2输出
a

样例3输出
No
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, k, h = 1, ans = 1;
    string s;
    cin >> n >> k;
    cin >> s;
    for (int i = 1; i < s.size(); i++) {
    	if(s[i - 1] == s[i]) ans++;
    	else ans = 1;
    	if(h == n && ans >= k) {
    		cout << s[i];
    		return 0;
		}
		if(ans >= k) h++, ans = 1;
	}
	cout << "No";
    return 0;
}

求纠正

2023/8/23 20:31
加载中...