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

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

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());
    }
}
全部评论

相关推荐

牛客101244697号:这个衣服和发型不去投偶像练习生?
点赞 评论 收藏
分享
11-08 17:36
诺瓦科技_HR
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务