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

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

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

import java.util.*;
import java.io.*;
public class Main{
    public static void main(String[] args){
        shanchuLeast();
    }
    public static void shanchuLeast(){
          BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String in = null;
        try {
            in = br.readLine();
        } catch (IOException e) {
            e.printStackTrace();
        }

        HashMap<Character, Integer> map = new HashMap<>();
        for (char c : in.toCharArray()) {
            map.put(c,map.getOrDefault(c,0)+1);
        }
        //用上边3行就替代了下边注释中的11行
        /*int index=0;
          while (index < in.length()){
            int count = 0;
            char c = in.charAt(index);
            if(map.containsKey(c)){
                count = (int) map.get(c);
                count++;
            }
            map.put(c,count);
            index++;
        }*/
        int min = Integer.MAX_VALUE;
        for (Integer value : map.values()) {
            min = Math.min(min, value);
        }
        //用上边4行就替代了下边注释中的8行
     /*   int min=10000;
        StringBuffer strb = new StringBuffer();
        for (Map.Entry<Character, Object> entry : map.entrySet()) {
            int value = (int) entry.getValue();
            if(value <= min){
                min=value;
            }
        }*/
        for (char c : in.toCharArray()) {
            if(map.get(c) != min){
                System.out.print(c);
            }
        }
        //用上边5行就替代了下边注释中的代码
       /* for (Character c : map.keySet()) {
            if(map.get(c).equals(min)){
                strb.append(c);
            }
        }
        int t=0;
        char[] chars = in.toCharArray();
            while(t < strb.length()){
                for (int i = 0; i < chars.length; i++) {
                if(chars[i] == strb.charAt(t)){
                    in.replace(String.valueOf(chars[i]),"");
                }
            }
            t++;
        }
        System.out.println(in);*/
        
    }
}
全部评论

相关推荐

做个有文化的流氓:Offer收割机
点赞 评论 收藏
分享
09-14 20:51
四川大学 Java
慢热的鲸鱼在学习:985加粗就行了,第二个项目来不及准备也没事,省的写了问你你还不会。你只需准备面试八股和项目场景,剩下的交给985。即使面不过也没事,面试经验是最重要的,你现在不缺时间
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务