使用二分法查找数值 在哪个数值区间

// 二分法查找数值在数值中的区间
Array.prototype.binarySearch = function (val) {   // 返回的是数组的索引值
  var left = 0;
  var right = this.length;
  while (left <= right) {
    var center = Math.floor((left + right) / 2);
    if (val < this[center]) {
      right = center - 1;
    } else {
      left = center + 1;
    }
  }
  return right;
}
let arrY = [1, 70, 140, 210, 280, 350, 420, 490, 560];

arrY.binarySearch(y);    // 返回索引值
发布了270 篇原创文章 · 获赞 50 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/Miss_liangrm/article/details/103498743