12. 删除字符串中出现次数最少的字符

 删除字符串中出现次数最少的字符,如果多个字符出现次数一样则都删除,如果都被删除  则换为empty。

    例子:
    输入
      abcdd
      字符串中只
     输出
      dd

    输入
      aabbccdd

    输出
      empty

      

查看代码

import java.util.*;

public class Demo12 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String line = sc.nextLine();

        HashMap<Character, Integer> map = new HashMap<>();
        for(char c : line.toCharArray()){ //好活
            map.put(c, map.containsKey(c) ? map.get(c) + 1 : 1);
        }

        Integer[] arr = new Integer[map.values().size()];
        map.values().toArray(arr);
        Arrays.sort(arr);

        int min = arr[0];
        for(Map.Entry<Character, Integer> entry : map.entrySet()){
            if(entry.getValue() == min)
                line = line.replaceAll(entry.getKey() + "", "");
        }

        System.out.println(line.length() == 0 ? "Empty" : line);
    }
}

 

总结:熟练掌握集合和数组之间的转换,了解各种数据结构的功能特点,及不同数据结构之间的搭配协作。

 

posted @ 2022-03-25 13:25  Jukim  阅读(347)  评论(0编辑  收藏  举报