首页 > 试题广场 >

删除字符串中出现次数最少的字符

[编程题]删除字符串中出现次数最少的字符
  • 热度指数:398486 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}对于给定的仅由小写字母构成的字符串,删除字符串中出现次数最少的字符。输出删除后的字符串,字符串中其它字符保持原来的顺序。
\hspace{15pt}特别地,若有多个字符出现的次数都最少,则把这些字符都删除。

输入描述:
\hspace{15pt}在一行上输入一个长度为 1 \leqq {\rm length}(s) \leqq 20 ,仅由小写字母构成的字符串 s ,代表待处理的字符串。


输出描述:
\hspace{15pt}在一行上输出一个字符串,代表删除后的答案。保证这个字符串至少包含一个字符。
示例1

输入

aabcddd

输出

aaddd

说明

\hspace{15pt}在这个样例中,出现次数最少的字符为 \texttt{`b'}\texttt{`c'} ,因此需要同时删除这两个字符。
s = input()

dic = {} # Initialize a dictionary to count the occurrence of the letters.
for char in s:
    if char not in dic:
        dic[char] = 1
    else:
        dic[char] += 1

lowest_occur = min(dic.values())

str_rem = '' # Use an empty string to store letters to remove
for key, value in dic.items(): # Use the .items() method to iterate over the key-value pairs.
    if value == lowest_occur:
        str_rem += key

for char in str_rem:
    s = s.replace(char, "") # Use the .replace() method to remove the specified characters in str_rem.

print(s)
发表于 2025-04-08 17:49:15 回复(0)
s=input().strip()
dic = {char: s.count(char) for char in set(s)}
c=min(dic.values())
for i in s:
if dic[i]==c:
s=s.replace(i,'')
print(s)

发表于 2025-04-03 01:57:50 回复(0)
str1 = input()
list1 = list(set(str1))
count_dict = {}
for i in list1:
    count = str1.count(i)
    count_dict[i] = count
need_replace = []
for key, value in count_dict.items():
    if value == min(count_dict.values()):
        need_replace.append(key)

for i in need_replace:
    str1 = str1.replace(i, '')
print(str1)

发表于 2025-04-01 12:44:16 回复(0)
a=list(input())
q=[]
for i in a:
    o=a.count(i)
    q.append(o)
b=min(q)
t=q.count(b)
o=a[q.index(b)]
a.pop(a.index(o))
try:
    while 1:
        q.pop(q.index(b))
        o=a[q.index(b)]
        a.pop(a.index(o))
except:
    pass
for i in a:
    print(i,end="")

   
发表于 2025-03-29 19:40:05 回复(0)
from collections import Counter
str_ = input()
dict_ = Counter(list(str_.lower()))
min_val = min(dict_.values())
print(''.join([key for key in list(str_.lower()) if dict_[key]!=min_val]))

from collections import Counter
str_ = input()
dict_ = Counter(list(str_.lower()))
min_val = min(dict_.values())
print(''.join([key for key in list(str_.lower()) if dict_[key]!=min_val]))

发表于 2025-03-13 06:54:04 回复(0)
感觉好理解些
s = input()
n = set(s)
a = []
for i in n:
a.append(s.count(i))
for i in s:
if s.count(i) != min(a):
print(i,end='')
发表于 2025-03-10 15:41:21 回复(0)
a = input()
lis =[]
d = a.count(a[0])
for element in  a :
    num = a.count(element)
    if num < d:
        lis = []
        lis.append(element)
        d = num
    elif num == d:
        lis.append(element)
    else:
        continue
for i in lis:
    a = a.replace(i,"")
print(a)

发表于 2025-02-28 15:26:20 回复(0)
n=input()
s=set(n)
m=[]
p=[]
for j in s:
      mi=n.count(j)
      p.append(mi)
result=min(p)
for i in n:
  if n.count(i) !=result:
       m.append(i)
print("".join(m))        

发表于 2025-01-25 22:04:30 回复(0)
from collections import Counter
a = input()
r = Counter(a)# 统计字符中每个字符出现的次数,并放到一个字典中
# 找到出现次数最少的值
minvalue = min(r.values())

# 初始化一个空字符串来存储结果
s = ""

for char in a:
    if r[char] > minvalue:
        s += char

print(s)
发表于 2024-12-03 10:38:09 回复(0)
strr = input()
a = {}
for i in strr:
    if i in a:
        a[i] += 1
    else:
        a[i] = 1
minn = min(a.values())
outt = ''
for index in strr:
    if a[index] != minn:
        outt += index
    else:
        pass
print(outt)
发表于 2024-11-25 00:39:50 回复(0)
a = input()
b = ''
for i in a:
    if a.count(i) > min(a.count(i) for i in a):
        b += i
print(b)

发表于 2024-10-06 20:06:19 回复(2)
a=input()
b=set(a)
la={}
def count_char(str,char):
    n=0
    for i in str:
        if i==char:
            n+=1
    return n

for i in b:
    num=count_char(a,i)
    la[i]=num
min_value = min(la.values())
min_keys = [key for key, value in la.items() if value == min_value]

result=list(a)
for d in min_keys:
    result.remove(d)
print(''.join(result))
发表于 2024-08-18 19:46:31 回复(0)
a=input()
b=dict()
for i in a:
    b[i]=b.get(i,0)+1
for i in a:
    if b[i]!=min(b.values()):
        print(i,end='')

发表于 2024-06-16 14:10:34 回复(0)
"""
1. 计算每个字符出现的次数
2. replace
"""

s = input()

letters = []

# 获取元素范围
sl = list(set(list(s)))

# 比较字母出现次数和最小数
for l in sl:
    if s.count(l) == min([s.count(i) for i in sl]):
        letters.append(l)
# 替换为空
for letter in letters:
    s = s.replace(letter,'')

print(s)

发表于 2024-05-09 19:17:11 回复(0)
import sys

for line in sys.stdin:
    a = line
real_a=""
for i in a:
    if i.islower():
        real_a+=i

char_count = {}
for char in real_a:
    if char in char_count:
        char_count[char] += 1
    else:
        char_count[char] = 1
#print(char_count)
min_count=min(char_count.values())
min_key=[key for key, val in char_count.items() if val == min_count]
min_key = ''.join(min_key)
#print(min_key)
real_a="".join(char for char in real_a if char not in min_key)
print(real_a)
发表于 2024-05-05 23:35:41 回复(0)
lis = [i for i in input()]
liscount = sorted([lis.count(i) for i in set(lis)])
print(*[i for i in lis if lis.count(i) != liscount[0]],sep='')

编辑于 2024-04-22 09:17:17 回复(0)
string = input()
dict_count = {s: string.count(s) for s in set(string)}
min_s = min(list(dict_count.values()))
for key, value in dict_count.items():
    if value == min_s:
        string = string.replace(key, '')
print(string)

编辑于 2024-04-15 21:22:19 回复(0)
import sys

strs = input()
ls = []
for s in strs:
    ls.append(s)
dic = {}
for i in ls:
    if i not in dic.keys():
        dic[i] = 1
    else:
        dic[i] +=1
sels = list(set(ls))
for i in range(len(sels)):
    for j in range(i+1,len(sels)):
        if dic[sels[i]]>=dic[sels[j]]:
            sels[i],sels[j] = sels[j],sels[i]
        else:
            pass
tmls = []
for i in range(len(sels)):
    if dic[sels[i]]==dic[sels[0]]:
        tmls.append(sels[i])
    else:
        break
for i in ls:
    if i not in tmls:
        print(i,end='')



发表于 2024-04-08 13:35:43 回复(0)