根据输入的颜色(实际就是一个一个的token),统计出颜色最多的那个。实际是记录哪个字符串出现的次数最多。使用HashMap记录各个串对应的次数就好,最终输出次数最多的串。
package string; import java.util.HashMap; import java.util.Scanner; /** * Created by yangyuan on 2017/12/12. */ public class Problem1004 { static final int MAX_SIZE = 1000 + 2; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); HashMap<String, Integer> colorCountMap = new HashMap<>(MAX_SIZE); int n; while (scanner.hasNextInt()) { if ((n = scanner.nextInt()) == 0) break; String maxColor = scanner.next(); colorCountMap.put(maxColor, 1); int max = 1; for (int i = 1; i < n; i++) { String color = scanner.next(); if (!colorCountMap.containsKey(color)) colorCountMap.put(color, 1); else { int newCount = colorCountMap.get(color) + 1; if (max < newCount) { maxColor = color; max = newCount; } colorCountMap.put(color, newCount); } } System.out.println(maxColor); } } }