মনে করুন ছোট হাতের অক্ষরে শব্দের একটি তালিকা আছে, আমাদের সবচেয়ে বড় কনটিগুয়াস সাবলিস্টের দৈর্ঘ্য খুঁজে বের করতে হবে যেখানে সব শব্দের প্রথম অক্ষর একই।
উদাহরণস্বরূপ, ["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
- যদি curr_letter None হয় বা curr_letter != word[0], তবে
- 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