solution.java 1.2 KB
Newer Older
每日一练社区's avatar
每日一练社区 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Map<Character, Integer> map = new HashMap<Character, Integer>();
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        for (int i = 0; i < str.length(); i++) {
            char key = str.charAt(i);
            // 如果没有这个键,则添加键并赋值为1
            if (!map.containsKey(key)) {
                map.put(key, 1);
            }
            // 否则获取当前值,自增1
            else {
                int value = map.get(str.charAt(i));
                map.put(key, ++value);
            }
        }
        // 使用HashMap的方法values(),取出所有的Value集合构造List
        List<Integer> sorted = new ArrayList<Integer>(map.values());
        // 然后使用Collections.sort排序
        Collections.sort(sorted);
        // 用最大的值减去最小的值,得到差
        int difference = sorted.get(sorted.size() - 1) - sorted.get(0);
        System.out.print(difference);
    }
}