问题描述
输入n个字符串,比较这些字符串的大小并统计并按字典序输出字符串及出现个数
输入格式
输入的第一行包含一个整数n,表示字符串个数。接下来n行,表示输入的字符串。
输出格式
输出n行,每行包含一个字符串及一个整数,表示字符串及出现个数。
样例输入
5
aab
bbc
aab
sdffg
sgjklsa
样例输出
aab 2
bbc 1
sdffg 1
sgjklsa 1
数据规模和约定
30% l=1
30% l=10
20% l<=100
100% n<=1000,l<=1000
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
List<String> list = new ArrayList<>();
for (int i = 0; i < n; ++i) {
list.add(sc.next());
}
sc.close();
Set<String> set = new HashSet<>(list);
List<String> list1 = new ArrayList<>(set);
Collections.sort(list1);
int[] arr = new int[list1.size()];
for (int i = 0; i < list1.size(); ++i) {
for (int j = 0; j < list.size(); ++j) {
if (list1.get(i).equals(list.get(j))) {
arr[i]++;
}
}
}
for (int i = 0; i < list1.size(); ++i) {
System.out.println(list1.get(i) + " " + arr[i]);
}
}
}