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

Chương trình kiểm tra chuỗi đã nhập là để viết chuỗi mục tiêu trong các phím bàn phím bị kẹt hoặc không bằng Python

Giả sử chúng ta có hai chuỗi s và t. Chúng tôi muốn tạo t, nhưng có một số vấn đề trong bàn phím trong đó một số ký tự bị kẹt nên chúng có thể được viết 1 hoặc nhiều lần. Chúng tôi phải kiểm tra xem có thể viết chữ s đã gõ để viết chữ t hay không.

Vì vậy, nếu đầu vào giống như s ="appppleee" t ="apple", 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 -

  • i:=0, j:=0
  • s_len:=kích thước của s
  • t_len:=kích thước của t
  • t_last:=chuỗi trống
  • while j
  • nếu tôi giống s_len, thì
    • trả về Sai
  • nếu s [i] giống với t [j], thì
    • t_last:=t [j]
    • i:=i + 1
    • j:=j + 1
  • ngược lại khi s [i] giống với t_last thì
    • i:=i + 1
  • nếu không,
    • trả về Sai
  • nếu tôi
  • trả về true nếu tất cả các ký tự trong s [từ chỉ mục i đến cuối] giống như t_last
  • nếu không,
    • trả về True
  • Ví dụ

    Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

    def solve(s, t):
       i = j = 0
       s_len = len(s)
       t_len = len(t)
       t_last = ""
       while j < t_len:
          if i == s_len:
             return False
          if s[i] == t[j]:
             t_last = t[j]
             i += 1
             j += 1
          elif s[i] == t_last:
             i += 1
          else:
             return False
       if i < s_len:
          return all(char == t_last for char in s[i:])
       else:
          return True
    
    s = "appppleee"
    t = "apple"
    print(solve(s, t))

    Đầu vào

    "appppleee", "apple"
    

    Đầu ra

    True