题解 | #删除字符串中出现次数最少的字符#

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

http://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9

真是大无语,hashmap太太太难了。 几个知识点:

1.最常用,map.put(c,map.getOrderDefault(c,0)+1,这个是往里放值。

2.求最小值的时候,可以直接比较value,写法是

int min = Integer.MAX_VALUE;
min = Math.min(i.min);

3.在取出key的时候,无法根据value的值来取出key,这时候只能在原来的字符串get(key)来获取value, 通过比较get(key),可以输出key的值,这就是输出key的方法。

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();
        TreeMap<Character, Integer> map = new TreeMap<>();
        for(char c : str.toCharArray()){
            map.put(c,map.getOrDefault(c, 0)+1);
        }
        int min = Integer.MAX_VALUE;
        for(Integer i : map.values()){
            min = Math.min(i,min);
        }
        StringBuilder strb = new StringBuilder();
        for(char c : str.toCharArray()){
            if(map.get(c)!=min){
                strb.append(c);
            }
        }
        System.out.print(strb.toString());
    }
}
全部评论

相关推荐

字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
点赞 评论 收藏
分享
贺兰星辰:不要漏个人信息,除了简历模板不太好以外你这个个人简介是不是太夸大了...
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务