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

Kiểm tra xem chuỗi thứ hai có thể được hình thành từ các ký tự của chuỗi đầu tiên trong Python hay không

Giả sử chúng ta có hai chuỗi s và t. Chúng tôi phải kiểm tra xem t có thể được tạo thành bằng cách sử dụng các ký tự của s hay không.

Vì vậy, nếu đầu vào là s =​​"owleh" t ="hello", 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 -

  • freq:=một bản đồ chứa tất cả các ký tự và tần số của chúng
  • đối với tôi trong phạm vi từ 0 đến kích thước của t - 1, thực hiện
    • nếu freq [t [i]] là 0, thì
      • trả về Sai
    • freq [t [i]]:=freq [t [i]] - 1
  • 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

from collections import defaultdict
 
def solve(s, t):
   freq = defaultdict(int)
 
   for i in range(len(s)):
      freq[s[i]] += 1
     
   for i in range(len(t)):
      if freq[t[i]] == 0:
         return False
      freq[t[i]] -= 1
   return True

s = "owhtlleh"
t = "hello"
print(solve(s, t))

Đầu vào

"apuuppa"

Đầu ra

True