import java.util.HashMap;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
HashMap<String, Integer> map=new HashMap<>();
Set<String> set=new HashSet<>();
int count=0;
for (int i = 0; i < n; i++) {
String string=scanner.next();
if(set.contains(string)) {
continue;
}
int k=map.getOrDefault(string, 0)+1;
if(k>count) {
set.add(string);
count++;
}
map.put(string, k);
}
System.out.println(count);
}
}
这题我被题目类型的排序给误导了,其实没必要使用排序,可以使用set和map,set用来装已经背下来的单词,map用来装每个单词与当前的数量组成的键值对。如果新读的单词已经被下来的,可以直接跳过。



京公网安备 11010502036488号