在Python中删除已发生的字符串字符的程序

在Python中删除已发生的字符串字符的程序

假设我们有一个字符串s。我们必须删除那些已经出现过的字符,并返回缩小后的字符串。要解决此问题,我们将使用一个有序字典来维护字符的插入顺序。值将是这些字符的频率,但是此处不重要。形成字典后,我们可以简单地取出键并将它们连接以获得字符串。

因此,如果输入为s =“ cabbbaadac”,则输出将为“ cabd”。

要解决这个问题,我们将按照以下步骤进行:

  • d:一个按插入顺序存储键的字典
  • 对于每个字符c在s中,做以下操作:
    • 如果d中不存在c,则
      • d[c]:= 0
    • d[c]:= d[c] + 1
  • 连接键以适当的顺序一个接一个地,以制作输出字符串并返回。

示例

让我们看一下以下实现,以获得更好的理解。

from collections import OrderedDict
def solve(s):
   d = OrderedDict()
   for c in s:
      if c not in d:
         d[c] = 0
      d[c] += 1

   return ''.join(d.keys())

s = "cabbbaadac"
print(solve(s))

输入

“ cabbbaadac”

输出

cabd

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程