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

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

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

import java.util.*;
import java.lang.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            String s=sc.nextLine();
            int n=s.length();
            Map<Character,Integer> map=new HashMap<>();
          //保存出现的字符以及每一个字符出现的次数
            for(int i=0;i<n;i++){
                map.put(s.charAt(i),map.getOrDefault(s.charAt(i),0)+1);
            }
          //记录出现次数最小的单词
            int minCount=Integer.MAX_VALUE;
          //遍历map找到出现次数最小的单词的次数
            for(Map.Entry<Character,Integer> entry:map.entrySet()){
                if(entry.getValue()<minCount){
                    minCount=entry.getValue();
                }
            }
          //用于拼接字符串
            StringBuilder sb=new StringBuilder();
            for(int i=0;i<n;i++){
              //所有不是出现最小次数的字符拼接字符串输出
                if(map.get(s.charAt(i))!=minCount){
                    sb.append(s.charAt(i));
                }
            }
            System.out.println(sb.toString());
        }
    }
}
全部评论

相关推荐

10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务