ধরুন আমাদের দুটি স্ট্রিং s এবং t আছে। s-এর অক্ষর ব্যবহার করে t গঠন করা যায় কি না তা আমাদের পরীক্ষা করতে হবে।
সুতরাং, যদি ইনপুট s ="owleh" t ="hello" এর মত হয়, তাহলে আউটপুট হবে True।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- freq :=সমস্ত অক্ষর এবং তাদের ফ্রিকোয়েন্সি সম্বলিত একটি মানচিত্র
- আমি 0 থেকে t - 1 এর পরিসরে,
- করুন
- যদি freq[t[i]] 0 হয়, তাহলে
- মিথ্যে ফেরত দিন
- freq[t[i]] :=freq[t[i]] - 1
- যদি freq[t[i]] 0 হয়, তাহলে
- সত্য ফেরান
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ কোড
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))
ইনপুট
"apuuppa"
আউটপুট
True