কম্পিউটার

একটি স্ট্রিং এর দুটি অংশ প্যালিনড্রোম কিনা তা পরীক্ষা করার প্রোগ্রাম পাইথনে নেই


ধরুন আমাদের কাছে একই দৈর্ঘ্যের দুটি স্ট্রিং S এবং T আছে, আমাদের পরীক্ষা করতে হবে যে একটি সাধারণ বিন্দুতে উভয় স্ট্রিং কাটা সম্ভব কিনা যাতে S-এর প্রথম অংশ এবং T-এর দ্বিতীয় অংশ একটি প্যালিনড্রোম তৈরি করে।

সুতরাং, যদি ইনপুটটি S ="cat" T ="pac" এর মত হয়, তাহলে আউটপুটটি True হবে, যেমন আমরা স্ট্রিংগুলিকে "c" + "at" এবং "d" + "ac" এ কেটে ফেলি, তারপর " c" + "ac" একটি প্যালিনড্রোম।

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

  • n :=a

    এর আকার
  • i :=0

  • যখন i

    • i :=i + 1

  • যখন a[সূচী i থেকে n-i-1] হয় প্যালিনড্রোম বা b[সূচী i থেকে n-i-1] তখন প্যালিনড্রোম হয়

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

উদাহরণ

class Solution:
   def solve(self, a, b):
      n = len(a)
      i = 0
      while i < n and a[i] == b[-i-1]:
         i += 1
      palindrome = lambda s: s == s[::-1]
      return palindrome(a[i:n-i]) or palindrome(b[i:n-i])
ob = Solution()
S = "cat"
T = "dac"
print(ob.solve(S, T))

ইনপুট

"cat","dac"

আউটপুট

True

  1. পাতার ক্রম দুটি পাতার সমান নাকি পাইথনে নয় তা পরীক্ষা করার জন্য প্রোগ্রাম

  2. একটি প্রদত্ত স্ট্রিং কীওয়ার্ড কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  3. একটি স্ট্রিং প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. একটি বাক্য পরীক্ষা করার জন্য পাইথন প্রোগ্রাম প্যানগ্রামস কিনা।