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