某公司笔试题 - 删除字符串中出现次数最少的字符(附python代码)

发布时间 2023-08-17 14:20:04作者: Alpha_To_Beta
# 实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输入删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
# 数据范围:输入的字符串长度满足 1<=n<=20, 保证输入的字符串中仅出现小写字母

str1 = input().lower()
dic = {}

if 1 <= len(str1) <= 20:
# 遍历输入的字符串中的字符
for i in str1:
# 如果字符在dic字典中,value值累加,如果字符不在字典中,添加入字典,value值记为1
if i in dic.keys():
dic[i] = dic[i] + 1
else:
dic[i] = 1
# 遍历dic字典中的key, value
for k, v in dic.items():
# 若key所对应的values是最小次数时,将这个key删除,即删除字符串中数个最少的字符
if dic[k] == min(dic.values()):
str1 = str1.replace(k, '')
elif dic[k] == v:
print("这不是最小的个数" + k + ':' + str(v))
print(str1)
else:
print("输入的字符串长度超过数据范围。")