কম্পিউটার

পাইথনে একই প্রথম অক্ষর ভাগ করে এমন সমস্ত শব্দ খুঁজে বের করার প্রোগ্রাম


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

সুতরাং, যদি ইনপুট যেমন হয় ["she", "sells", "seashells", "on", "the", "seashore"], তাহলে আউটপুট হবে 3 কারণ তিনটি সংলগ্ন শব্দ হল "she", "sells" , "seashells", সবার একই প্রথম অক্ষর 's' আছে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • সর্বোচ্চ দৈর্ঘ্য :=0
  • curr_letter :=শূন্য, curr_length :=0
  • শব্দে প্রতিটি শব্দের জন্য, করুন
    • যদি curr_letter নাল হয় বা curr_letter শব্দের মতো না হয়[0], তাহলে
      • সর্বোচ্চ দৈর্ঘ্য :=সর্বোচ্চ দৈর্ঘ্যের সর্বোচ্চ, curr_length
      • curr_letter :=word[0], curr_length :=1
    • অন্যথায়,
      • curr_length :=curr_length + 1
  • সর্বোচ্চ দৈর্ঘ্য এবং curr_length ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution:
   def solve(self, words):
      maxlength = 0
      curr_letter, curr_length = None, 0
      for word in words:
         if not curr_letter or curr_letter != word[0]:
            maxlength = max(maxlength, curr_length)
            curr_letter, curr_length = word[0], 1
         else:
            curr_length += 1
      return max(maxlength, curr_length)
ob = Solution()
words = ["she", "sells", "seashells", "on", "the", "seashore"]
print(ob.solve(words))

ইনপুট

["she", "sells", "seashells", "on", "the", "seashore"]

আউটপুট

3

  1. পাইথনে সমস্ত পয়েন্ট সংযোগ করার জন্য সর্বনিম্ন খরচ খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে একই সমষ্টির 3টি নন-ওভারল্যাপিং সাবলিস্টের বৃহত্তম যোগফল খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে অ-ভাগ করা শব্দের সর্বাধিক দৈর্ঘ্য খুঁজে বের করার জন্য প্রোগ্রাম

  4. একটি সাবলিস্ট খুঁজতে প্রোগ্রাম যেখানে পাইথনে প্রথম এবং শেষ মান একই