利用哈希表键的唯一性快速得出出字母出现次数映射表
遍历求出最大值即可
创建hash表时注意创建顺序字母在前,键是唯一的,需要将字母设为键
package fast;
import java.util.Scanner;
import java.util.HashMap;
public class 单次分析_哈希表法 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.next();
//创建hash表,创建时标明健值对类型,注意创建顺序,键是唯一的,需要将字母设为键
HashMap<Character,Integer> map = new HashMap<Character,Integer>();
//将单词中字母按照 出现次数:字母 放入哈希表
for(int i=0 ; i<s.length() ; i++ ) {
//hashmap.containsKey(Object key),确认hashmap中是否存在key的映射关系
if(!map.containsKey(s.charAt(i))) {
map.put(s.charAt(i) , 1);
}else {
map.put(s.charAt(i),map.get(s.charAt(i))+1);
}
}
int max = 0;
char maxA = s.charAt(0);
for(char alpha: map.keySet()) {
if(map.get(alpha)>max) {
max = map.get(alpha);
maxA = alpha;
}else if(map.get(alpha)==max) {
if(alpha<maxA) maxA=alpha;
}
}
System.out.print(maxA);
System.out.print(max);
}
}