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