[Leetcode解題] 744. Find Smallest Letter Greater Than Target

31 January 2026
easy binary_search, bs

911. Online Election

題目

744. Find Smallest Letter Greater Than Target

給定一個字元序列跟一個目標字元,回傳在序列中第一個比目標字元大的字元,如果沒有的話就回傳第一個字元

解題思路

這題就是考二分搜尋法,我們找第一個比目標值大的值,也可以用bisect.bisect_right來解

Python 實作

```python class Solution: def nextGreatestLetter(self, letters: List[str], target: str) -> str:

    lower = 0
    upper = len(letters)
    while lower < upper:
        mid = (lower + upper) // 2

        if letters[mid] <= target:
            lower = mid + 1
        elif letters[mid] > target:
            upper = mid
    if upper == len(letters):
        return letters[0]
    return letters[lower]```

時間複雜度

$O(logn)$