华为机试题-删除出现次数最少的字符
来源:互联网 发布:it狂人类似 编辑:程序博客网 时间:2024/06/05 19:48
分享一道华为的机试题:
java实现如下:
import java.util.HashMap;//引入类 import java.util.Scanner; import java.util.Set;public class Shanzifu{public static void main(String[] srgs){Scanner sc = new Scanner(System.in);while(sc.hasNext()){String input = sc.next();//获得输入System.out.println(process(input));//调用函数输出}}public static String process(String in){char[] ch = in.toCharArray();HashMap<Character, Integer> map = new HashMap();//输入的字符作为键,个数作为值for (int i = 0; i < ch.length; i++){//如果为已有的键,只需将值(统计的字符数)加1if (map.containsKey(ch[i])){map.put(ch[i], map.get(ch[i]) + 1);}else//如果为这样的键,则直接添加键值对map.put(ch[i], 1);}int min = 20;//初始值设为最大的可能的数20Set<Character> set = map.keySet();//遍历整个集合得到出现次数最小的字符for (char c:set){if (map.get(c) < min)min = map.get(c);}//将出现次数最少的字符利用替换的方式删除for (char c:set){if (map.get(c) == min)in = in.replace(String.valueOf(c), "");}//返回处理后的字符串return in;}}
Python实现:
__author__ = "Allen Liu"__time__ = "2017/9/15"'''This program used to '''str = input().strip()inset = set(str)mi = 20tmp = []for i in inset: if str.count(i) <= mi: mi = str.count(i) tmp.append(i)for i in tmp: str = str.replace(i, '')print(str)
阅读全文
1 0
- 华为机试题-删除出现次数最少的字符
- 华为机试题:删除字符串中出现次数最少的字符
- 华为上机试题1(删除字符串中出现次数最少的字符)
- 华为2013校园招聘机试题目题4:删除一个字符串中出现次数最少的字符
- 华为oj 删除字符串中出现次数最少的字符
- 华为OJ 删除字符串中出现次数最少的字符
- 【华为 OJ 】删除字符串中出现次数最少的字符
- 华为oj 删除字符串中出现次数最少的字符
- 华为OJ删除字符串中出现次数最少的字符
- 【华为OJ】删除字符串中出现次数最少的字符
- 【华为OJ23】删除字符串中出现次数最少的字符
- 华为OJ-删除字符串中出现次数最少的字符
- 华为笔试:删除字符串中出现次数最少的字符
- 华为机试——删除一个字符串中出现次数最少的字符
- 华为机试——删除字符串中出现次数最少的字符
- Java - 华为机试训练 - 删除字符串中出现次数最少的字符
- 华为机试在线训练-牛客网(14)删除字符串中出现次数最少的字符
- 华为机试-删除字符串中出现最少次数的字符
- 默默前行的livego--基于go语言的rtmp直播服务器
- Docker源码分析(二):Docker Client创建与命令执行
- 注解
- List集合去重复
- Leangoo常用功能简介
- 华为机试题-删除出现次数最少的字符
- 心情
- java设计模式---开题篇
- 防火防盗防诈骗!老实程序员如何保护好自己?
- python下运行报"SyntaxError: Non-ASCII character '/xe6' "错误解决方法
- ConvenientBanner 无限轮播使用
- Docker源码分析(三):Docker Daemon启动
- 七大洲
- Fabric 1.0 configtxgen Tool的使用