Blue Bridge Cup ADV-351 than size java

Problem Description

问题描述
  输入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

Reference Code

package 比大小;

import java.util.Scanner;
import java.util.TreeMap;

public class Main {

public static void main(String[] args) {
	//很明显要使用map结构来储存建(字串)和值(次数)
	//但涉及到字串排序,那很明显TreeMap
	Scanner sr = new Scanner(System.in);
	int n = sr.nextInt();
	//建(字串)和值(次数)
	TreeMap<String, Integer> tree = new TreeMap<String, Integer>();
	for (int i = 0; i < n; i++) {
		String s = sr.next();
		//将获取到的字串判断是否存在TreeMap里,如果存在,将值+1
		if (tree.containsKey(s)) {
			int value = tree.get(s);
			tree.put(s, value+1);
			//将获取到的字串判断是否存在TreeMap里,如果不存在,压入键值对
		}else {
			tree.put(s, 1);
		}
	}
	//TreeMap里是已排好序的,直接输出即可
	for (String key : tree.keySet()) {
		System.out.println(key+" "+tree.get(key));
	}
}
}

 

Guess you like

Origin blog.csdn.net/qq_40185047/article/details/114987313