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

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

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

1.将字符及其出现次数存入map,遍历map获取出现最少的字符次数;
2.遍历map根据出现次数等于最少出现次数条件操作,组装最终输出结果;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashMap;

public class StrOperate_del_HJ23 {
    public static void main(String[] args) throws Exception{
        BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
        String line = null;
        while((line = read.readLine()) != null){
            HashMap<Character,Integer> temp =new HashMap<>();
            char [] input=line.toCharArray();
            for(char s:input){
                String lastLine=line.replaceAll(String.valueOf(s),"");
                temp.put(s,line.length()-lastLine.length());
            }
            //快速找出最小值
            int min = Integer.MAX_VALUE;
            for (int times:temp.values()){
                min = Math.min(min,times);
            }
            //组织输出结果
            String outputStr = line;
            for (HashMap.Entry<Character,Integer> entry : temp.entrySet()){
                String minChar = String.valueOf(entry.getKey());
                int mintimes = entry.getValue();
                if(mintimes==min){
                    outputStr=outputStr.replaceAll(minChar,"");
                }
            }
            System.out.println(outputStr);
        }
    }
}

全部评论

相关推荐

就用这个吧:支持多益再加一个空气使用费
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务