在 JavaScript 中找出大于目标值的最小字母
假设我们有一个仅包含小写字母的已排序字符数组 letters。并且给定一个目标字母 target。
我们需要编写一个 JavaScript 函数,该函数将数组作为第一个参数,并将字母作为第二个参数。该函数应该找到列表中大于给定目标的最小元素。
我们必须记住,字母也会环绕回来。例如,如果 target 是 target = 'z' 且 letters = ['a', 'b'],则答案为 'a'。
例如 -
如果输入数组和字母是 -
const arr = ["c", "f", "j"]; const target = "a";
那么输出应该是 -
const output: "c";
示例
代码为 -
const arr = ["c", "f", "j"]; const target = "a"; const findNearestLetter = (arr = [], target = '') => { let left = 0; let right = arr.length - 1; while (left <= right) { let mid = left + (right - left) / 2; if (arr[mid] <= target) { left ++; } else { right --; }; }; if (left == arr.length) { return arr[0]; }; return arr[left]; }; console.log(findNearestLetter(arr, target));
输出
控制台中的输出将为 -
c
广告