কম্পিউটার

পাইথনে দুটি স্ট্রিংয়ের বৃহত্তম মার্জ খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের দুটি স্ট্রিং s এবং t আছে। আমরা নিম্নলিখিত উপায়ে মার্জ নামে একটি স্ট্রিং তৈরি করতে চাই:যখন s বা t খালি নয়, নিম্নলিখিত বিকল্পগুলির মধ্যে একটি নির্বাচন করুন −

  • যদি s খালি না হয়, তাহলে s-এর মধ্যে প্রথম অক্ষরটি যুক্ত করুন এবং s থেকে মুছে ফেলুন।

  • যদি t খালি না হয়, তাহলে t এর মধ্যে প্রথম অক্ষরটি যোগ করুন এবং এটিকে t থেকে মুছে দিন।

পরিশেষে, আমাদের আভিধানিকভাবে সবচেয়ে বড় মিল খুঁজে বের করতে হবে যা আমরা গঠন করতে পারি।

সুতরাং, যদি ইনপুটটি s ="zxyxx" t ="yzxxx" এর মত হয়, তাহলে আউটপুট হবে "zyzxyxxxxxx"

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • a :=0, b :=0

  • মার্জ :=ফাঁকা স্ট্রিং

  • W1 :=s

    এর আকার
  • W2 :=t এর আকার

  • যখন a

    • যদি সূচী a থেকে শেষ পর্যন্ত s এর সাবস্ট্রিং> সূচক b থেকে শেষ পর্যন্ত t এর সাবস্ট্রিং, তাহলে

      • মার্জ :=মার্জ কনক্যাটেনেট s[a]

      • a :=a + 1

    • অন্যথায়,

      • মার্জ :=মার্জ কনক্যাটেনেট t[b>

      • b :=b + 1

  • রিটার্ন মার্জ কনক্যাটেনেট (ইনডেক্স a ​​থেকে শেষ পর্যন্ত s-এর সাবস্ট্রিং) কনক্যাটেনেট (ইনডেক্স b থেকে শেষ পর্যন্ত t-এর সাবস্ট্রিং)

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

def solve(s, t):
   a = b = 0
   merge = ""

   W1 = len(s)
   W2 = len(t)
   while a < W1 and b < W2:
      if s[a:] > t[b:]:
         merge += s[a]
         a += 1
      else:
         merge += t[b]
         b += 1

   return merge + s[a:] + t[b:]

s = "zxyxx"
t = "yzxxx"
print(solve(s, t))

ইনপুট

"zxyxx", "yzxxx"

আউটপুট

zyzxyxxxxx

  1. পাইথন প্রোগ্রাম একটি অ্যারের বৃহত্তম উপাদান খুঁজে বের করতে

  2. দুটি স্ট্রিং থেকে অস্বাভাবিক শব্দ খুঁজে পেতে পাইথন প্রোগ্রাম

  3. পাইথন প্রোগ্রাম a no দুইটির শক্তি কিনা তা খুঁজে বের করতে

  4. একটি অ্যারের বৃহত্তম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম