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

Kiểm tra xem chuỗi có tuân theo thứ tự các ký tự được xác định bởi một mẫu hay không trong Python

Giả sử chúng ta có một chuỗi s và một chuỗi t khác làm mẫu, chúng ta phải kiểm tra xem các ký tự trong s có theo đúng thứ tự như được xác định bởi các ký tự có trong t hay không. Ở đây chúng tôi không có ký tự trùng lặp nào trong mẫu.

Vì vậy, nếu đầu vào là s =​​"hello world" t ="hw", thì đầu ra sẽ là True.

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

  • nếu kích thước của s
  • trả về Sai
  • đối với tôi trong phạm vi từ 0 đến kích thước của t - 2, thực hiện
    • x:=t [i], y:=t [i + 1]
    • right:=chỉ số cuối cùng của x tính bằng s
    • left:=chỉ mục đầu tiên của x tính bằng s
    • nếu bên phải là -1 hoặc bên trái là -1 hoặc bên phải> bên trái, thì
      • trả về Sai
  • trả về True
  • Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

    Mã mẫu

    def solve(s, t):
       if len(s) < len(t) :
          return False
     
       for i in range(len(t) - 1):
          x = t[i]
          y = t[i + 1]
     
          right = s.rindex(x)
          left = s.index(y)
     
          if right == -1 or left == -1 or right > left:
             return False
    
       return True
    
    s = "hello world"
    t = "hw"
    print(solve(s, t))

    Đầu vào

    "hello world", "hw"

    Đầu ra

    True