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

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

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

统计输入的字符串中的个元素的出现次数,然后找map中value最小的,记录为min;

遍历输入的字符串,并从map中找到它出现的次数,如果出现的次数大于min,就用StringBuffer拼接起来即可;

最终输出StringBuffer.toString();即可。

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);  
        String str = sc.next();
        StringBuffer sb = new StringBuffer();
        Map<Character,Integer> map = new HashMap<>(); 
        for(char c:str.toCharArray()){
            if(!map.containsKey(c)) map.put(c,1);
            else map.put(c,map.get(c)+1);
        }
        int min = 20;
        for(int n:map.values()){
            if(n < min) min = n;
        }    
        for(char c:str.toCharArray()){
            if(map.get(c)>min) sb.append(c);
        }
        System.out.print(sb.toString());
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务