ブルーブリッジカップ--アルゴリズムのサイズ向上(java)
9444 ワード
リソース制限時間制限:1.0 sメモリ制限:256.0 MB問題は、入力n文字列を記述し、これらの文字列のサイズを比較して統計し、辞書順に文字列を出力し、個数入力フォーマットが入力された最初の行には、文字列の個数を表す整数nが含まれている.次のn行は、入力された文字列を表します.出力フォーマットはn行を出力し、各行に1つの文字列と1つの整数を含み、文字列と出現個数を表す.サンプル入力5 aab bbc aab sdffg sgjklsaサンプル出力aab 2 bbc 1 sdffg 1 sgjklsa 1データ規模と約束30%l=130%l=10 20%l<=100%n<=1000,l<=1000———————————————————————————————————————————————————————————————————————————————————————————
コードは問題ないと思いますが、提出が不合格で、評価点を見てみました.
評価ポイントシーケンス
入力
しゅつりょく
1
空白
295443
4
空白
0
他の評価点の入出力も整数であり、例えば評価点5の入力:42 18468 6335 19170 26501 15725 114792929329359 26963 5706 24465 28146 168223282 9962 492 2996 1194344828 5437 32392 3903 14605 154293 12383 174218717 719 19896出力:65741
これらの評価点と問題は全く合っていませんね.よく見えませんでした...通りすがりのおじいさんがわかったら教えてください.ありがとうございます.
コードは問題ないと思いますが、提出が不合格で、評価点を見てみました.
評価ポイントシーケンス
入力
しゅつりょく
1
空白
295443
4
空白
0
他の評価点の入出力も整数であり、例えば評価点5の入力:42 18468 6335 19170 26501 15725 114792929329359 26963 5706 24465 28146 168223282 9962 492 2996 1194344828 5437 32392 3903 14605 154293 12383 174218717 719 19896出力:65741
これらの評価点と問題は全く合っていませんね.よく見えませんでした...通りすがりのおじいさんがわかったら教えてください.ありがとうございます.
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
static int n;
static String[] arr;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Map<String, Integer> map = new HashMap<>();
n = sc.nextInt();
arr = new String[n];
for(int i = 0;i < n;i++) {
arr[i] = sc.next();
if(map.containsKey(arr[i])) {
int cnt = map.get(arr[i]);
map.put(arr[i], cnt + 1);
}else {
map.put(arr[i], 1);
}
}
sc.close();
Arrays.sort(arr, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);//
}
});
for(int i = 0;i < n;) {
String str = arr[i];
int cnt = map.get(str);
System.out.println(str + " " + cnt);
i += cnt;
}
}
}