ধরুন আমাদের কাছে ছোট হাতের অক্ষরে শব্দের একটি তালিকা আছে, আমাদের সবচেয়ে দীর্ঘতম সংযোজিত সাবলিস্টের দৈর্ঘ্য খুঁজে বের করতে হবে যেখানে সমস্ত শব্দের প্রথম অক্ষর একই আছে।
সুতরাং, যদি ইনপুট যেমন হয় ["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_letter নাল হয় বা curr_letter শব্দের মতো না হয়[0], তাহলে
- সর্বোচ্চ দৈর্ঘ্য এবং 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