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
- nếu freq [t [i]] là 0, thì
- 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