Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ลบรายการที่ซ้ำกันใน Python


สมมติว่าเรามีสตริง s สตริงนี้ประกอบด้วย "R" และ "L" เราต้องลบจำนวนอักขระขั้นต่ำเพื่อให้ไม่มี "R" ที่ต่อเนื่องกัน และไม่มี "L" ที่ต่อเนื่องกัน

ดังนั้น หากอินพุตเป็นเหมือน "LLLRLRR" เอาต์พุตจะเป็น "LRLR"

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • เห็น :=อักขระตัวแรกของ s
  • ans :=อักขระตัวแรกของ s
  • สำหรับแต่ละอักขระ i จากดัชนี 1 ถึงจุดสิ้นสุดของ s ทำ
    • ถ้าฉันไม่เหมือนที่เห็นแล้ว
      • ans :=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