百練 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();
	}

}
相關文章
相關標籤/搜索