题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
http://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
真是大无语,hashmap太太太难了。 几个知识点:
1.最常用,map.put(c,map.getOrderDefault(c,0)+1,这个是往里放值。
2.求最小值的时候,可以直接比较value,写法是
int min = Integer.MAX_VALUE;
min = Math.min(i.min);
3.在取出key的时候,无法根据value的值来取出key,这时候只能在原来的字符串get(key)来获取value, 通过比较get(key),可以输出key的值,这就是输出key的方法。
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
TreeMap<Character, Integer> map = new TreeMap<>();
for(char c : str.toCharArray()){
map.put(c,map.getOrDefault(c, 0)+1);
}
int min = Integer.MAX_VALUE;
for(Integer i : map.values()){
min = Math.min(i,min);
}
StringBuilder strb = new StringBuilder();
for(char c : str.toCharArray()){
if(map.get(c)!=min){
strb.append(c);
}
}
System.out.print(strb.toString());
}
}