力扣链接:744.寻找比目标字母大的最小字母
难度:⭐
解题关键词:二分查找
解题思路:常规二分法,从左到右找到第一个比 target 字母大的字符,如果没有,就返回第一个,即 index 默认为 0 就好
typescript
function nextGreatestLetter(letters: string[], target: string): string {
let left = 0;
let right = letters.length - 1;
let index = 0;
while (left <= right) {
const mid = Math.floor((right - left) / 2) + left;
if (letters[mid] <= target) {
left = mid + 1;
} else {
index = mid;
right = mid - 1;
}
}
return letters[index];
}