Computer >> Máy Tính >  >> Lập trình >> Python

Loại bỏ các bản sao liên tiếp trong Python

Giả sử chúng ta có một chuỗi s, chuỗi này bao gồm "R" và "L", chúng ta phải loại bỏ số ký tự tối thiểu sao cho không có "R" liên tiếp và không có "L" liên tiếp.

Vì vậy, nếu đầu vào giống như "LLLRLRR", thì đầu ra sẽ là "LRLR"

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • saw:=ký tự đầu tiên của s
  • ans:=ký tự đầu tiên của s
  • đối với mỗi ký tự tôi từ chỉ mục 1 đến cuối s, thực hiện
    • nếu tôi không giống như đã thấy, thì
      • ans:=ans + i
      • đã thấy:=i
  • trả lại ans

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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"))

Đầu vào

"LLLRLRR"

Đầu ra

LRLR