สมมติว่าเรามีสตริง 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