在 JavaScript 中查找大于目标的最小字母

假设我们得到一个只包含小写字母的排序字符数组。并给出目标信目标。

我们需要编写一个 JavaScript 函数,它将数组作为第一个参数,将字母作为第二个参数。该函数应该找到列表中大于给定目标的最小元素。

我们必须记住,字母也会环绕。例如,如果目标是目标 = 'z' 和字母 = ['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