মান লিজিয়ে আমাদের দুটি স্ট্রিং s এবং t আছে, আমাদের s- থেকে সবচেয়ে বেশি ফ্রিকোয়েন্সি সম্পন্ন ক্যারেক্টারটি বেছে নিতে হবে এবং তারপর যাচাই করতে হবে সেটি t-এ একই সংখ্যকবার উপস্থিত আছে কিনা।
যেমন, ইনপুট যদি s = "crosssection", t = "securesystem" হয়, তবে আউটপুট হবে True, কারণ s-এ সবচেয়ে বেশি ফ্রিকোয়েন্সি সম্পন্ন ক্যারেক্টার হল 's'। এবং t-এ 's'-এর একই সংখ্যক Ocurrence রয়েছে।
সমাধানের ধাপসমূহ
freq :=s-এর সব ক্যারেক্টার এবং তাদের ফ্রিকোয়েন্সি ধারণকারী একটি ম্যাপmax_freq_char =s-এ যেখানে ফ্রিকোয়েন্সি সর্বোচ্চ সেটি ক্যারেক্টারmax_freq := max_freq_char-এর ফ্রিকোয়েন্সি মান
<লি>যদি Trueরিটার্ন করুনFalseরিটার্ন করুন
t-এ max_freq_char-এর Ocurrence max_freq সমান হয়, তবে:
উদাহরণ
বेहतर বোঝার জন্য নিচের বাস্তবায়নটি দেখুন:
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))
ইনপুট
"crosssection", "securesystem"
আউটপুট
True