ধরুন আমাদের দুটি স্ট্রিং s এবং t আছে, আমাদেরকে s-এর সাবস্ট্রিং তৈরি করতে s-এর জন্য প্রয়োজনীয় ন্যূনতম পরিমাণ অপারেশন খুঁজে বের করতে হবে। এখন, প্রতিটি অপারেশনে, আমরা s-এর যেকোনো অবস্থান বেছে নিতে পারি এবং সেই অবস্থানের অক্ষরটিকে অন্য কোনো অক্ষরে পরিবর্তন করতে পারি।
সুতরাং, যদি ইনপুটটি s ="abbpqr", t ="bbxy" এর মত হয়, তাহলে আউটপুট হবে 2, যেমন আমরা "bbpq" সাবস্ট্রিং নিতে পারি এবং 'p' কে 'x' এবং 'q' তে পরিবর্তন করতে পারি। y'।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- k :=t এর আকার, n :=s এর আকার
- উত্তর :=10^10
- আমি 0 থেকে n - k রেঞ্জের জন্য, কর
- ss :=s এর সাবস্ট্রিং [index i থেকে i+k-1]
- উত্তর :=সর্বনিম্ন উত্তর এবং s এবং t-এর অক্ষর সংখ্যার অতুলনীয় সংখ্যা
- উত্তর ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution: def solve(self, s, t): k, n = len(t), len(s) ans = 10**10 for i in range(n - k + 1): ss = s[i:i+k] ans = min(ans, sum(ss[j]!=t[j] for j in range(k))) return ans ob = Solution() print(ob.solve("abbpqr", "bbxy"))
ইনপুট
"abbpqr", "bbxy"
আউটপুট
2