কম্পিউটার টিউটোরিয়াল

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


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

উদাহরণস্বরূপ, S = "cat", T = "pac" হলে আউটপুট True, কারণ "c" + "ac" = "cac" প্যালিনড্রোম।

সমাধানের ধাপসমূহ

  • n := a-এর আকার
  • i := 0
  • যখন i < n এবং a[i] == b[n-i-1],
    • i := i + 1
  • True ফেরত দিন যদি a[i:n-i] বা b[i:n-i] প্যালিনড্রোম হয়

উদাহরণ

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. পাইথনে বাক্য প্যাংগ্রাম (pangram) কিনা যাচাই করার প্রোগ্রাম