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

পাইথনে দুই স্ট্রিং-এর প্রিফিক্স ও সাফিক্স মিলিয়ে প্যালিনড্রোম বের করা

ধরা যাক সমান দৈর্ঘ্যের দুটি স্ট্রিং S1 এবং S2 আছে। আমাদের এমন একটি ইন্ডেক্স i বের করতে হবে যাতে S1[0..i] এবং S2[i+1..n-1] কনক্যাট করলে প্যালিনড্রোম হয়। না পারলে -1 রিটার্ন করুন।

ইনপুট: S1="pqrsu", S2="wxyqp" → আউটপুট 1 (S1[0..1]="pq", S2[2..]="ypq", কনক্যাট="pqyqp" যা প্যালিনড্রোম)।

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

  • n = len(str1), str = ""
  • for i in 0..n-1:
    • str += str1[i]
    • temp = ""; for j in i+1..n-1: temp += str2[j]
    • যদি isPalindrome(str+temp): return i
  • return -1

উদাহরণ

def isPalindrome(s):
    return s == s[::-1]
def find_index(str1, str2):
    n = len(str1)
    str = ""
    for i in range(n):
        str += str1[i]
        temp = ""
        for j in range(i + 1, n):
            temp += str2[j]
        if isPalindrome(str + temp):
            return i
    return -1
str1 = "pqrsu"
str2 = "wxyqp"
print(find_index(str1, str2))

ইনপুট

"pqrsu", "wxyqp"

আউটপুট

1
  1. পাইথনে প্রথম স্ট্রিং-এ দ্বিতীয় স্ট্রিং-র ক্যারেক্টারগুলোর ন্যূনতম ইনডেক্সে থাকা ক্যারেক্টার

  2. পাইথন - স্ট্রিক্টলি ডিক্রিজিং এবং ইনক্রিজিং সিকোয়েন্স তৈরিতে অংশগ্রহণকারী এলিমেন্ট খুঁজে বের করা

  3. পাইথনে gcd(N^M, N&M) সর্বাধিক করার জন্য ধনাত্মক M খুঁজুন

  4. পাইথনে ফাইন্ড অ্যান্ড রিপ্লেস প্যাটার্ন