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

অ্যারে রোটেশনের পাইথন প্রোগ্রাম


এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।

সমস্যা: একটি টেক্সট এবং একটি প্যাটার্ন দেওয়া আছে, আমাদের প্যাটার্ন এবং এর পারমিউটেশন (অথবা एनাগ্রাম) এর সকল অকারেন্স টেক্সটে প্রিন্ট করতে হবে।

চলুন নিচের ইমপ্লিমেন্টেশনে সমাধানটি পর্যবেক্ষণ করি।

উদাহরণ

# ম্যাক্সিমাম ভ্যালু
MAX = 300

# কম্পেয়ার
def compare(arr1, arr2):
    for i in range(MAX):
        if arr1[i] != arr2[i]:
            return False
    return True

# সার্চ
def search(pat, txt):
    M = len(pat)
    N = len(txt)
    # countP প্যাটার্ন অ্যাকাউন্ট
    # countTW টেক্সট উইন্ডো কাউন্ট
    countP = [0] * MAX
    countTW = [0] * MAX
    for i in range(M):
        countP[ord(pat[i])] += 1
        countTW[ord(txt[i])] += 1
    # ট্রাভার্সাল
    for i in range(M, N):
        # করেন্ট উইন্ডো এবং প্যাটার্ন কাউন্ট কম্পেয়ার
        if compare(countP, countTW):
            print("Found at Index", (i - M))
        # উইন্ডোতে ক্যারেক্টার যোগ
        countTW[ord(txt[i])] += 1
        # উইন্ডো থেকে ক্যারেক্টার রিমুভ
        countTW[ord(txt[i - M])] -= 1
        # লাস্ট উইন্ডো চেক
        if compare(countP, countTW):
            print("It is Found at Index :", N - M)

# মেইন
txt = "TUTORIALSPOINT"
pat = "TOR"
search(pat, txt)

আউটপুট

Found at Index 2

অ্যারে রোটেশনের পাইথন প্রোগ্রাম

সभी ভেরিয়েবল লোকাল স্কোপে ঘোষণা করা হয়েছে এবং তাদের রেফারেন্স উপরের চিত্রে দেখা যাচ্ছে।

উপসংহার

এই আর্টিকেলে আমরা শিখেছি কিভাবে এনাগ্রাম সাবস্ট্রিং সার্চের পাইথন প্রোগ্রাম লিখতে হয়।

  1. পাইথনে চক্রবৃদ্ধি বunga (Compound Interest) প্রোগ্রাম

  2. পাইথন প্রোগ্রাম: সিম্পল ইন্টারেস্ট ক্যালকুলেশন

  3. পাইথন প্রোগ্রাম: সিলেকশন সোর্ট অ্যালগরিদম

  4. পাইথন প্রোগ্রাম: ইনসারশন সোর্ট অ্যালগরিদম