题目描述
给定一个只包含小写字母的字符串,请编写程序从左往右找到第一个只出现k次的字符。如果没有,输出no。
例如:字符串为ebacabcc,k=2时,b和a都只出现了2次,由于b先出现,所以程序输出b。
输入
仅1行,包含一个字符串和一个正整数k;字符串长度小于200,仅包含小写英文字母。
两项输入数据之间用一个空格隔开。
输出
1行,如果有只出现k次的字符,则输出第一个满足条件的字符;否则输出no。
#include<iostream>
#include<string>
using namespace std;
int cnt[27],bi[27];
int main(){
string n;
int a;
cin>>n>>a;
for(int i=0;i<n.size();i++){
cnt[n[i]-'a']++;
}
cin>>a;
for(int i=0;i<26;i++){
if(cnt[i]==a){
bi[i]=1;
}
}
for(int i=0;i<n.size();i++){
if(bi[n[i]-'a']==1){
cout<<n[i];
return 0;
}
}
cout<<"no";
}