【题目】
【代码】
【方法1】二分查找
class Solution:
def nextGreatestLetter(self, letters: List[str], target: str) -> str:
left,right=0,len(letters)-1
ans=0
while left<=right:
mid=left+(right-left)//2
if letters[mid]>target:
ans=mid
right=mid-1
else:
left=mid+1
return letters[ans]
【方法2】线性查找
直接按序遍历数组找到第一个比target大的字母返回即可,如果遍历完成以边仍不能找到第一个大于target的字母,则返回数组的第一个字符