📌  相关文章
📜  用于排序数组中天花板的 Javascript 程序(1)

📅  最后修改于: 2023-12-03 15:11:16.825000             🧑  作者: Mango

用于排序数组中天花板的 Javascript 程序

简介

本文介绍了一个用于排序数组中天花板的 Javascript 程序。天花板即指大于或等于给定数字的最小元素。

示例
const arr = [2, 4, 6, 8, 10];

function ceil(arr, num) {
  let left = 0;
  let right = arr.length - 1;
  let mid;

  if (num < arr[0]) {
    return arr[0];
  }

  if (num > arr[right]) {
    return -1;
  }

  while (left <= right) {
    mid = Math.floor((left + right) / 2);
    if (arr[mid] === num) {
      return arr[mid];
    } else if (arr[mid] > num) {
      right = mid - 1;
    } else {
      left = mid + 1;
    }
  }

  return arr[left];
}

console.log(ceil(arr, 5)); // 输出:6
解释

此代码使用了二分查找法来查找最小的大于等于给定数字的元素。在开始查找之前,程序会首先判断给定数字是否小于数组中的最小元素或大于数组中的最大元素。如果是,则返回最小元素或者错误代码。否则,进行二分查找,找到最小的大于等于给定数字的元素。

总结

本文介绍了一个用于排序数组中天花板的 Javascript 程序。这个程序使用了二分查找算法,可以快速且高效地查找数组中的天花板。这个程序也可以应用于其他语言和数据结构中,希望对读者有所启发和帮助。