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用来装每个单词与当前的数量组成的键值对。如果新读的单词已经被下来的,可以直接跳过。