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

পাইথনে একই প্রথম অক্ষরের সবচেয়ে বড় কনটিগুয়াস সাবলিস্ট খুঁজে বের করার প্রোগ্রাম


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

উদাহরণস্বরূপ, ["she", "sells", "seashells", "on", "the", "seashore"] হলে আউটপুট হবে ৩ কারণ "she", "sells", "seashells" তিনটির প্রথম অক্ষর 's'।

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

  • maxlength := 0
  • curr_letter := None, curr_length := 0
  • প্রতিটি word words-এ,
    • যদি curr_letter None হয় বা curr_letter != word[0], তবে
      • maxlength := max(maxlength, curr_length)
      • curr_letter := word[0], curr_length := 1
    • অন্যথায়,
      • curr_length := curr_length + 1
  • max(maxlength, 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. পাইথনে নন-শেয়ারিং ওয়ার্ডসের সর্বোচ্চ দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

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