【华为OJ23】删除字符串中出现次数最少的字符
来源:互联网 发布:everying软件 编辑:程序博客网 时间:2024/05/17 03:31
题目描述
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
输入描述:
字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出描述:
删除字符串中出现次数最少的字符后的字符串。
输入例子:
abcdd
输出例子:
dd
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc= new Scanner(System.in); while(sc.hasNext()){ String str = sc.next(); System.out.println(getStr(str)); } sc.close(); } public static String getStr(String str){ if(str == null) return str; Map<Character,Integer> map = new HashMap<>(); //1 存储字符,统计每个字符出现的次数 for(int i=0;i<str.length();i++){ char c = str.charAt(i); if(map.containsKey(c)){ map.put(c,map.get(c)+1); }else{ map.put(c,1); } } //2 遍历集合,获取出现次数最少的字符 int min = Integer.MAX_VALUE; for(Map.Entry<Character,Integer> entry:map.entrySet()){ Integer value = entry.getValue(); if(value < min) min = value; } //3 添加出现次数最少的字符 Set<Character> set = new HashSet<>(); for(Map.Entry<Character,Integer> entry:map.entrySet()){ Character c = entry.getKey(); Integer value = entry.getValue(); if(value == min)set.add(c); } //4 从原字符串中删除次数最少的字符 StringBuilder sb = new StringBuilder(128); for(int i=0;i<str.length();i++){ char c = str.charAt(i); //set可以添加,说明此字符c不是出现次数最少的字符 if(!set.contains(c)){ sb.append(c); } } return sb.toString(); }}
0 0
- 【华为OJ23】删除字符串中出现次数最少的字符
- 华为oj 删除字符串中出现次数最少的字符
- 华为OJ 删除字符串中出现次数最少的字符
- 【华为 OJ 】删除字符串中出现次数最少的字符
- 华为oj 删除字符串中出现次数最少的字符
- 华为OJ删除字符串中出现次数最少的字符
- 【华为OJ】删除字符串中出现次数最少的字符
- 华为OJ-删除字符串中出现次数最少的字符
- 华为笔试:删除字符串中出现次数最少的字符
- 【华为OJ】删除一个字符串中出现次数最少的字符
- 华为在线测试题[基础篇]--删除字符串中出现次数最少的字符
- [华为上机练习题]7.删除字符串中出现次数最少的字符
- 华为上机试题1(删除字符串中出现次数最少的字符)
- 华为OJ(删除字符串中出现次数最少的字符)
- 华为OJ中级题-删除字符串中出现次数最少的字符
- 华为机试——删除一个字符串中出现次数最少的字符
- 华为机试——删除字符串中出现次数最少的字符
- 华为机试题:删除字符串中出现次数最少的字符
- Navicat for Oracle 绿色版 连接 Oracle 12c
- aop:error at ::0 can't find referenced pointcut解决办法
- 字符 正则表达式详解
- RxJava 初探(一)
- 边缘光 rim
- 【华为OJ23】删除字符串中出现次数最少的字符
- LeetCode: Number of Islands
- leetcode Serialize and Deserialize Binary Tree C++
- mac mysql 启动脚本
- mysql 5.7 dmg安装 经验
- subline text3破解码
- Android之Fragment与Activity的那些事儿
- swift学习随笔
- Day20: BACK FOR HOLIDAY