题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Scanner; import java.util.Set; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { private static char c = ' '; private static int count = 99; private static Map<Character, Integer> map = new HashMap<>(); public static void main(String[] args) { String s = ""; Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { // 注意 while 处理多个 case s = in.next(); } result(s); } private static void result(String s) { int len = s.length(); for (int i = 0;i<len; i++) { char c = s.charAt(i); map.put(c, map.getOrDefault(c, 0)+1); } map.forEach((k,v) -> { if(v < count){ count = v; c = k.charValue(); } }); Set<Character> set = new HashSet<>(); map.forEach((k,v) -> { if(v == count){ count = v; c = k.charValue(); set.add(k); } }); for(Character c: set){ s = s.replaceAll(c+"", ""); } System.out.print(s); } }
感觉写的有点复杂
雪域灰灰刷题笔记 文章被收录于专栏
雪域灰灰刷题笔记