Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมหาความยาว Sublist ติดกันที่ขึ้นต้นด้วยตัวอักษรเดียวกันใน Python

ให้ลิสต์คำ words หาความยาว Sublist ติดกันยาวสุดที่คำทุกตัวขึ้นต้นด้วยตัวอักษรเดียวกัน

ตัวอย่าง: ["she","sells","seashells","on","the","sea","shore"] → 3 (["she","sells","seashells"] ตัวอักษร 's')

ขั้นตอน (One Pass O(n))

  1. cnt=1, maxcnt=0, prev_char=""
  2. วนลูปแต่ละคำ:
    • ถ้า 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