JS计算数组中有多少小于某数返回数量长度

在一个有序的数组中,查找小于某个数的个数

 

[1, 2, 3, 4]
2
// 1

 

二分查找

let searchInsert = function (arr, x) {
  let left = 0;
  let right = arr.length - 1;
  while (left <= right) {
    let mid = (left + right) >> 1;
    if (arr[mid] === x) {
      return mid;
    } else if (x < arr[mid]) {
      right = mid - 1;
    } else {
      left = mid + 1;
    }
  }
}
let arr = [1, 2, 3]
console.log(searchInsert(arr, 2))

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.duanlonglong.com/qdjy/822.html