ধরুন আমাদের দুটি ছোট হাতের স্ট্রিং s এবং t আছে, তারা একই দৈর্ঘ্যের। আমরা s থেকে একটি অক্ষর এবং t থেকে আরেকটি অক্ষর নির্বাচন করে তাদের অদলবদল করতে পারি। আমরা যতবার চাই ততবার এই অপারেশনটি করতে পারি। অবশেষে, আমাদের পরীক্ষা করতে হবে যে দুটি স্ট্রিং একই করা সম্ভব কি না।
সুতরাং, ইনপুট যদি s ="abcd" t ="cdab" এর মত হয়, তাহলে আউটপুট হবে True
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- fre :=s এবং t এর সংযুক্ত স্ট্রিং-এ উপস্থিত প্রতিটি উপাদানের ফ্রিকোয়েন্সি ধারণকারী একটি তালিকা
- fre-এর সমস্ত মানের তালিকায় প্রতিটি cnt-এর জন্য, করুন
- যদি cnt mod 2 1 হয়, তাহলে
- মিথ্যে ফেরত দিন
- যদি cnt mod 2 1 হয়, তাহলে
- সত্য ফেরান
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
from collections import Counter def solve(s, t): fre = Counter(s+t) for cnt in fre.values(): if cnt % 2: return False return True s = "abcd" t = "cdab" print(solve(s, t))
ইনপুট
"abcd", "cdab"
আউটপুট
True