ให้ลิสต์คำ words หาความยาว Sublist ติดกันยาวสุดที่คำทุกตัวขึ้นต้นด้วยตัวอักษรเดียวกัน
ตัวอย่าง: ["she","sells","seashells","on","the","sea","shore"] → 3 (["she","sells","seashells"] ตัวอักษร 's')
ขั้นตอน (One Pass O(n))
cnt=1, maxcnt=0, prev_char=""- วนลูปแต่ละคำ:
- ถ้า
prev_char=="": ตั้งprev_char = word[0] - ถ้า
prev_char == word[0]:cnt += 1 - มิฉะนั้น:
prev_char = word[0], cnt = 1 maxcnt = max(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)) # Output: 3อินพุต
["she", "sells", "seashells", "on", "the", "sea", "shore"]
เอาต์พุต
3