输入样例:
I
THIS IS A TEST
i ng
this is a long test string
#
输出样例:
I 2
i 3
5
n 2
g 2
样例解释:
第2个测试用例中,空格也是被统计的字符之一
输入#,退出系统
hash思想求解
import java.util.HashMap;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true) {
String s = sc.nextLine();
if(s.equals("#")) {
System.exit(0);
}
char[] arr = s.toCharArray(); // 将字符串转换为字符
char[] array = sc.nextLine().toCharArray();
HashMap<Character, Integer> hm = new HashMap<>();
// 先将THIS IS A TEST用哈希存储
for(char ch : array) {
if(!hm.containsKey(ch)) // 如果“T”字符不存在,需要存储
hm.put(ch, 1);
else // 如果“T”字符存在,对应的value值需要加1
hm.put(ch, hm.get(ch) + 1);
}
for(char c : arr) {
if(hm.containsKey(c))
System.out.print(String.valueOf(c)+" "+ hm.get(c));
System.out.println();
}
}
}
}