题解 | #字符统计#

字符统计

http://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0

import java.util.*;

public class Main {

   static List<Integer> integers = new ArrayList<>();
   static List<Character> characterList = new ArrayList<>();
   static String str = "";
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s  = scanner.nextLine();

        Map<Character,Integer> map = new HashMap<>();
        char[] chars = s.toCharArray();
        for (char c : chars) {
            map.put(c,map.getOrDefault(c,0)+1);
        }

        Set<Character> set = map.keySet();
        for (Character character : set) {
            characterList.add(character);
        }

        Collections.sort(characterList);
        for (Character character : characterList) {
            integers.add(map.get(character));
        }

        for (int i = 0; i < integers.size(); i++) {
         maxNum(integers);
        }

        System.out.println(str);

    }

    private static int maxNum(List<Integer> integers) {

        int max = integers.get(0);
        for (int i = 0; i < integers.size(); i++) {
            max = Math.max(max, integers.get(i));
        }
        int i = integers.indexOf(max);
        integers.set(i,-1);
        str = str+String.valueOf(characterList.get(i));
        return max;
    }

}

全部评论

相关推荐

牛客583549203号:腾讯还好,况且实习而已,实习生流动性很大,属于正常现象,记得和HR委婉解释
点赞 评论 收藏
分享
迷茫的大四🐶:自信一点,我认为你可以拿到50k,低于50k完全配不上你的能力,兄弟,不要被他们骗了,你可以的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务