Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra chuỗi thứ hai có thể tạo từ ký tự chuỗi thứ nhất trong Python

Cho hai chuỗi s, t. Kiểm tra t có thể tạo được từ các ký tự của s (mỗi ký tự dùng tối đa lần xuất hiện trong s).

Ví dụ: s="owhtlleh", t="hello" → True.

Thuật toán

  • Đếm tần suất ký tự trong s (defaultdict).
  • Duyệt t: nếu freq[t[i]] == 0 → False; else freq[t[i]]--.
  • Trả về True.

Ví dụ code

from collections import defaultdict

def solve(s, t):
    freq = defaultdict(int)
    for ch in s:
        freq[ch] += 1
    for ch in t:
        if freq[ch] == 0:
            return False
        freq[ch] -= 1
    return True

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

Đầu vào

"owhtlleh", "hello"

Đầu ra

True