1. /**
    2. * leetcode #744 寻找比目标字母大的最小字母
    3. * 题目描述:给定一个有序的字符数组 letters 和一个字符 target,
    4. * 要求找出 letters 中大于 target 的最小字符,如果找不到就返回第 1 个字符。
    5. *
    6. * Input: letters = ["c", "f", "j"] target = "d"
    7. * Output: "f"
    8. * Input: letters = ["c", "f", "j"] target = "k"
    9. * Output: "c"
    10. **/
    11. function nextGreatestLetter(letters, target) {
    12. let l = 0, h = letters.length - 1;
    13. let res = 0;
    14. while (l <= h) {
    15. let m = Math.floor((l + h) / 2)
    16. if (letters[m] > target) {
    17. res = m;
    18. h = m - 1
    19. } else {
    20. l = m + 1
    21. }
    22. }
    23. return letters[res]
    24. }
    25. console.log(nextGreatestLetter(["a", "b", "c", "d", "f", "j"], 'k'))