मान लीजिए कि हमारे पास छोटे अक्षरों की एक सूची है जिसे शब्द कहा जाता है। हमें सबसे लंबी सन्निहित सबलिस्ट की लंबाई का पता लगाना है जहां प्रत्येक शब्द के पहले अक्षर का पहला अक्षर समान हो।
इसलिए, यदि इनपुट शब्दों की तरह है =["वह", "बिकता है", "सीशेल", "ऑन", "द", "समुद्र", "किनारे"], तो आउटपुट 3 होगा, सबसे लंबा सन्निहित सबलिस्ट है ["वह", "बिकता है", "सीशेल्स"]। प्रत्येक शब्द का पहला अक्षर 's' है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
सीएनटी:=1
-
मैक्ससीएनटी:=0
-
prev_char :=रिक्त स्ट्रिंग
-
शब्दों में प्रत्येक शब्द के लिए, करें
-
अगर prev_char खाली है, तो
-
prev_char :=शब्द का पहला अक्षर
-
-
अन्यथा जब prev_char शब्द के पहले अक्षर के समान हो, तब
-
सीएनटी:=सीएनटी + 1
-
-
अन्यथा,
-
prev_char :=शब्द का पहला अक्षर
-
सीएनटी:=1
-
-
maxcnt :=अधिकतम अधिकतम और cnt
-
-
अधिकतम वापसी
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
def solve(words): cnt = 1 maxcnt = 0 prev_char = "" for word in words: if prev_char == "": prev_char = word[0] elif prev_char == word[0]: cnt += 1 else: prev_char = word[0] cnt = 1 maxcnt = max(maxcnt, cnt) return maxcnt words = ["she", "sells", "seashells", "on", "the", "sea", "shore"] print(solve(words))
इनपुट
["she", "sells", "seashells", "on", "the", "sea", "shore"]
आउटपुट
3