日野弥生:勉強しよう
LeetCode 744 - 寻找比目标字母大的最小字母
发表于2025年04月25日
本题主要注意需要查找比当前字母大的第一个,所以min始终指向第一个满足 letters[i] > target 的位置。 从而,只需要判断min是否超出边界即可。
class Solution:
def nextGreatestLetter(self, letters: List[str], target: str) -> str:
min = 0
max = len(letters) - 1
while min <= max:
mid = (min + max) // 2
if ord(target) >= ord(letters[mid]):
min = mid + 1
else:
max = mid - 1
return letters[min] if min < len(letters) else letters[0]