百练 2742: 统计字符数 之 Java 解答

http://bailian.openjudge.cn/practice/2742/java

描述测试

判断一个由a-z这26个字符组成的字符串中哪一个字符出现的次数最多code

输入orm

第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的字符串
每组测试数据之间有一个空行,每行数据不超过1000个字符且非空ci

输出字符串

n行,每行输出对应一个输入。一行输出包括出现次数最多的字符和该字符出现的次数,中间是一个空格。
若是有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符form

样例输入class

2
abbccc

adfadffasdf

样例输出import

c 3
f 4

Java 解答:im

import java.util.Scanner;

public class OpenJudge2742 {

	public static void main(String[] args) {
		Scanner cin = new Scanner(System.in);
		final int n = cin.nextInt();
		for (int i = 0; i < n * 2; i++) {
			String line = cin.nextLine();
			if (line == null || "".equals(line)) {
				continue;
			}
			int[] sum = new int[26];
			for (int j = 0; j < line.length(); j++) {
				sum[line.charAt(j) - 'a']++;
			}
			int max = 0;
			for (int j = 1; j < 26; j++) {
				if (sum[j] > sum[max]) {
					max = j;
				}
			}
			System.out.println(String.format("%c %d", max + 'a', sum[max]));
		}
		cin.close();
	}

}
相关文章
相关标签/搜索