কম্পিউটার

পাইথনে একটি স্ট্রিং সাবস্ট্রিং অন্যটির জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের দুটি স্ট্রিং 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

  1. পাইথনে স্ট্রিং ট্রিম করে আমরা তৈরি করতে পারি সম্ভাব্য সংখ্যক প্যালিনড্রোম খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে লক্ষ্যে পৌঁছানোর জন্য প্রয়োজনীয় প্রদত্ত অপারেশনের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে স্ট্রিং প্যালিনড্রোম তৈরি করতে প্রয়োজনীয় ন্যূনতম সংখ্যক অক্ষর পরীক্ষা করার জন্য প্রোগ্রাম

  4. পাইথনে এক নম্বর থেকে অন্য নম্বর তৈরি করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করার প্রোগ্রাম