কম্পিউটার

অ্যানাগ্রাম সাবস্ট্রিং অনুসন্ধানের জন্য পাইথন প্রোগ্রাম


এই নিবন্ধে, আমরা নীচে দেওয়া সমস্যার বিবৃতিটির সমাধান সম্পর্কে জানব৷

সমস্যা বিবৃতি − একটি টেক্সট এবং একটি প্যাটার্ন দেওয়া হলে, আমাদের টেক্সটে প্যাটার্নের সমস্ত ঘটনা এবং এর পারমুটেশন (বা অ্যানাগ্রাম) মুদ্রণ করতে হবে।

এখন নিচের বাস্তবায়নে সমাধানটি পর্যবেক্ষণ করা যাক -

উদাহরণ

# maximum value
MAX = 300
# compare
def compare(arr1, arr2):
   for i in range(MAX):
      if arr1[i] != arr2[i]:
         return False
   return True
# search
def search(pat, txt):
   M = len(pat)
   N = len(txt)
   # countP pattern account
   # countTW text window count
   countP = [0]*MAX
   countTW = [0]*MAX
   for i in range(M):
      (countP[ord(pat[i]) ]) += 1
      (countTW[ord(txt[i]) ]) += 1
   # Traversal
   for i in range(M, N):
      # Compare current window and patten counts
      if compare(countP, countTW):
         print("Found at Index", (i-M))
      # Add charcter to window
      (countTW[ ord(txt[i]) ]) += 1
      # remove charcter from window
      (countTW[ ord(txt[i-M]) ]) -= 1
   # Check for the last window
   if compare(countP, countTW):
      print("It is Found at Index : ", N-M)
# main
txt = "TUTORIALSPOINT"
pat = "TOR"
search(pat, txt)

আউটপুট

Found at Index 2

অ্যানাগ্রাম সাবস্ট্রিং অনুসন্ধানের জন্য পাইথন প্রোগ্রাম

সমস্ত ভেরিয়েবল স্থানীয় সুযোগে ঘোষণা করা হয়েছে এবং তাদের উল্লেখ উপরের চিত্রে দেখা যাচ্ছে।

উপসংহার

এই নিবন্ধে, আমরা কীভাবে অ্যানাগ্রাম সাবস্ট্রিং অনুসন্ধানের জন্য একটি পাইথন প্রোগ্রাম তৈরি করতে পারি সে সম্পর্কে শিখেছি৷


  1. যৌগিক সুদের জন্য পাইথন প্রোগ্রাম

  2. সহজ আগ্রহের জন্য পাইথন প্রোগ্রাম

  3. নির্বাচন সাজানোর জন্য পাইথন প্রোগ্রাম

  4. লিনিয়ার সার্চের জন্য পাইথন প্রোগ্রাম