算法:求字符串中首次出现三次的英文字母

问题描述:

给定一个英文字符串,写一段代码找出字符串中首次出现三次的英文字母。
输入描述:输入一个字符串,包括字母,数字
输出描述:输出首先出现三次的那个英文字母
示例:输入:Have you ever gone shopping
输出:e

public class Test{
    public static void main(String[] args) {
      String str = "Have you ever gone shopping";
      System.out.println(firstThree(str));
    }
    public static char firstThree(String str){
        char[] data = str.toCharArray();
        int[] hash = new int[256];
        for(int i = 0;i<data.length;i++){
            char c = data[i];
            if((c>='A'&&c<='Z')||(c>='a'&&c<='z')){
                hash[c]++;
                if(hash[c]==3) {
                    return c;
                }
            }
        }
        return '-';
    }
}
点赞