কম্পিউটার

পাইথনে দীর্ঘতম ধারাবাহিক অক্ষর এবং অঙ্কের সাবস্ট্রিং খুঁজুন


একটি প্রদত্ত স্ট্রিং সংখ্যা এবং অক্ষরের মিশ্রণ হতে পারে। এই নিবন্ধে আমাদের সবচেয়ে বড় সাবস্ট্রিং খুঁজে বের করতে হবে যাতে অক্ষর এবং সংখ্যা একসাথে থাকে।

রি মডিউল সহ

রেগুলার এক্সপ্রেশন মডিউলটি অঙ্ক বা অক্ষর সম্বলিত সব ক্রমাগত সাবস্ট্রিং খুঁজে পেতে ব্যবহার করা যেতে পারে। তারপরে প্রাপ্ত সমস্ত সাবস্ট্রিংগুলির মধ্যে সর্বাধিক দৈর্ঘ্য রয়েছে এমন অক্ষর এবং অঙ্কগুলির অবিচ্ছিন্ন সাবস্ট্রিংগুলি বেছে নেওয়ার জন্য আমরা সর্বাধিক ফাংশন প্রয়োগ করি। Findall ফাংশনটি প্রয়োজনীয় সাবস্ট্রিংগুলি সনাক্ত করতে এবং পেতেও ব্যবহার করা হয়৷

উদাহরণ

import re

def longSubstring(str):
   letter = max(re.findall(r'\D+', str), key=len)
   digit = max(re.findall(r'\d+', str), key=len)

   return letter, digit

str = 'Hello 459 Congratulations! 234'
print(longSubstring(str))

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

(' Congratulations! ', '459')

len() এবং while লুপ দিয়ে

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

উদাহরণ

def longSubstring(s):
   max_letterSeq = ''
   max_digitSeq = ''
   i = 0
   while (i < len(s)):

      current_letterSeq = ''
      current_digitSeq = ''

      # Letters
      while (i < len(s) and s[i].isalpha()):
         current_letterSeq += s[i]
         i += 1

      # Digits
      while (i < len(s) and s[i].isdigit()):
         current_digitSeq += s[i]
         i += 1

      # Check if not digit or alphabet
      if (i < len(s) and not (s[i].isdigit())
            and not (s[i].isalpha())):
         i += 1

      if (len(current_letterSeq) > len(max_letterSeq)):
         max_letterSeq = current_letterSeq

      if (len(current_digitSeq) > len(max_digitSeq)):
         max_digitSeq = current_digitSeq

   return max_letterSeq, max_digitSeq

str = 'Hello 459 Congratulations! 234'
print(longSubstring(str))

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

('Congratulations', '459')

  1. পাইথনে একটি বাইনারি গাছের দীর্ঘতম ধারাবাহিক পথের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে একটি প্রদত্ত স্ট্রিং-এ k অনন্য অক্ষর সহ দীর্ঘতম সাবস্ট্রিং খুঁজুন

  3. পাইথনে দীর্ঘতম ধারাবাহিক ক্রম

  4. পাইথনে দীর্ঘতম প্যালিনড্রোমিক সাবস্ট্রিং