Skip to content

力扣链接: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];
}