मान लीजिए कि हमारे पास लोअरकेस अक्षरों में शब्दों की एक सूची है, हमें सबसे लंबी सन्निहित सबलिस्ट की लंबाई का पता लगाना है, जहां सभी शब्दों का पहला अक्षर समान है।
इसलिए, यदि इनपुट ["she", "sells", "seashells", "on", "the", "seashore"] जैसा है, तो आउटपुट 3 होगा क्योंकि तीन सन्निहित शब्द "she", "sells" हैं। , "सीशेल्स", सभी का पहला अक्षर 's' समान है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- अधिकतम लंबाई:=0
- curr_letter:=शून्य, curr_length:=0
- शब्दों में प्रत्येक शब्द के लिए, करें
- यदि curr_letter शून्य है या curr_letter शब्द [0] के समान नहीं है, तो
- अधिकतम लम्बाई :=अधिकतम लम्बाई, curr_length
- curr_letter:=शब्द[0], curr_length :=1
- अन्यथा,
- curr_length :=curr_length + 1
- यदि curr_letter शून्य है या curr_letter शब्द [0] के समान नहीं है, तो
- अधिकतम लंबाई और वक्र_लंबाई लौटाएं
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
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