একটি লোয়ারকেস স্ট্রিং লিস্ট words দেওয়া আছে। সবচেয়ে লম্বা কন্টিগুয়াস সাবলিস্ট বের করুন যেখানে সব শব্দের প্রথম অক্ষর একই।
উদাহরণ
words = ["she", "sells", "seashells", "on", "the", "sea", "shore"] → আউটপুট: 3
সাবলিস্ট: ["she", "sells", "seashells"] — সবার প্রথম অক্ষর 's'।
এলগরিদম (O(n))
cnt := 1, maxcnt := 0, prev_char := ""- প্রতিটি
wordএর জন্য:- যদি
prev_charখালি:prev_char := word[0] - অন্যথায় যদি
prev_char == word[0]:cnt++ - অন্যথায়:
prev_char := word[0], cnt := 1 maxcnt = max(maxcnt, cnt)
- যদি
maxcntরিটার্ন করুন।
পাইথন কোড
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)) # আউটপুট: 3
ইনপুট / আউটপুট
["she", "sells", "seashells", "on", "the", "sea", "shore"] 3