删除 Python 中的连续重复项


假设我们有一个由“R”和“L”组成的字符串 s,我们必须删除最少的字符,以便没有连续的“R”和没有连续的“L”。

因此,如果输入类似于“LLLRLRR”,则输出将为“LRLR”

为了解决这个问题,我们将遵循以下步骤:

  • seen:s 的第一个字符
  • ans:s 的第一个字符
  • 对于索引 1 至 s 末尾的每个字符 i 执行以下操作:
    • 如果 i 与 seen 不同,则
      • ans:ans + i
      • seen:i
  • 返回 ans

让我们看看以下实现以获得更好的理解:

示例

 实时演示

class Solution:
   def solve(self, s):
      seen = s[0]
      ans = s[0]
      for i in s[1:]:
         if i != seen:
            ans += i
            seen = i
      return ans
ob = Solution()
print(ob.solve("LLLRLRR"))

输入

"LLLRLRR"

输出

LRLR

更新时间:22-9 月 -2020

4K+ 浏览

开启您的职业生涯

完成课程认证

开始
广告