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

Kiểm tra xem ký tự xuất hiện tối đa của một chuỗi có giống không. thời gian bằng ngôn ngữ khác trong Python

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