classSolution: defnextGreatestLetter(self, letters: List[str], target: str) -> str: # 类似于找插入位置 left = 0 right = len(letters)-1 while left<=right: half = left + (right-left)//2 if letters[half] > target: right = half - 1 else: left = half + 1 return letters[left] if left !=len(letters) else letters[0]