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
- nếu tôi không giống như đã thấy, thì
- 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