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

Chương trình tìm văn bản cuối cùng trong trình soạn thảo bằng cách thực hiện nhập và khoảng cách ngược trong Python

Giả sử chúng ta có một chuỗi s đại diện cho các ký tự được nhập vào một trình soạn thảo, ký hiệu "<-" biểu thị một dấu cách lùi, chúng ta phải tìm trạng thái hiện tại của trình soạn thảo.

Vì vậy, nếu đầu vào là s =​​"ilovepython <- <- ON", thì đầu ra sẽ là "ilovepythON", vì có hai ký tự xóa lùi sau "ilovepython", nó sẽ xóa hai ký tự cuối cùng, sau đó nhập lại "ON" .

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

  • res:=một danh sách mới
  • đối với mỗi tôi trong s, thực hiện
    • nếu tôi giống với '-' và ký tự cuối cùng của res giống với '<', thì
      • xóa phần tử cuối cùng khỏi res
      • nếu res không trống, thì
        • xóa phần tử cuối cùng khỏi res
    • nếu không,
      • chèn tôi vào cuối res
  • kết hợp các phần tử có trong res và trả về

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):
      res = [] for i in s:
      if i == '-' and res[-1] == '< ': res.pop()
         if res:
            res.pop()
         else:
            res.append(i)
      return "".join(res)
ob = Solution()
print(ob.solve("ilovepython<-<-ON"))

Đầu vào

"ilovepython<-<-ON"

Đầu ra

ilovepython<-<-ON