Giả sử chúng ta có hai chuỗi s và t, chúng ta phải chọn ký tự thường xuyên nhất từ s và sau đó chúng ta phải kiểm tra xem ký tự cụ thể đó có xuất hiện trong cùng một số lần hay không.
Vì vậy, nếu đầu vào giống như s ="crosssection", t ="securesystem", thì đầu ra sẽ là True, vì ký tự thường gặp nhất trong s là 's'. Và có cùng số lần xuất hiện của 's' trong t.
Để 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ự của s và tần số của chúng
- max_freq_char =ký tự tính bằng s trong đó tần số là tối đa
- max_freq:=giá trị tần suất của max_freq_char
- nếu lần xuất hiện của max_freq_char trong t giống với max_freq, thì
- trả về True
- trả về Sai
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
from collections import defaultdict def solve(s, t) : freq = defaultdict(int) for char in s : freq[char] += 1 max_freq_char = max(freq, key=freq.get) max_freq = freq[max_freq_char] if max_freq == t.count(max_freq_char) : return True return False s = "crosssection" t = "securesystem" print(solve(s, t))
Đầu vào
"crosssection", "securesystem"
Đầu ra
True