题解 | #删除字符串中出现次数最少的字符#如有更好的思路请分享在留言
删除字符串中出现次数最少的字符
http://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String line = sc.nextLine(); delete(line); } } public static void delete(String string) { char[] array = string.toCharArray(); HashMap<Character, Integer> map = new HashMap<>(); String str = ""; //遍历进行map的存储,key:字符种类,value:字符出现次数 for (int i = 0; i < array.length; i++) { int value = 1; if(map.containsKey(array[i])) { value = map.get(array[i]); value++; } map.put(array[i], value); } //取出最小出现次数,并排序,排序后的数组第一个数为最小值 Collection<Integer> values = map.values(); Object[] array1 = values.toArray(); Arrays.sort(array1); int min = (Integer)array1[0]; for (int i = 0; i < array.length; i++) { //如果和最小值不相等,则拼接到字符串便于输出 if(map.get(array[i]) > min) str += array[i]; } System.out.println(str); } }