牛客网-统计字符

题目描述

给定一个英文字符串,请写一段代码找出这个字符串中首先出现三次的那个英文字符。

输入描述:

输入数据一个字符串,包括字母,数字等。

输出描述:

输出首先出现三次的那个英文字符
示例1

输入

Have you ever gone shopping and

输出

e

//关键:构建一个数组存放每个字符出现的次数

#include<iostream>
#include<string>
using namespace std;
char count3(string s){
    int count[256]={0};//构建一个数组存放每个字符出现的次数
    int length=s.size();
    char res;
    for(int i=0;i<length;++i){
        count[s[i]-'0']++;
        // 如果首次出现的次数为3,并且为英文字符,循环停止
        if(count[s[i]-'0']==3&&((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))){
            res=s[i];
            break;
        }
    }
    return res;
}
int main(){
    string s;
    cin>>s;
    char res = count3(s);
    cout<<res;
    return 0;
}
原文地址:https://www.cnblogs.com/rgly/p/7412496.html