taquaki-satwo
11/27/2017 - 3:07 PM

2分探索

JS-2分探索

function binarySearch(target, searchTarget) {
  const l = searchTarget.length;
  let left = 0, right = l - 1;
  while(left < right) {
    const middle = Math.floor((left + right) / 2);
    if(target <= searchTarget[middle]) {
      right = middle;
    } else {
      left = middle + 1;
    }
  }
  if(target === searchTarget[right]) return right;
  return null;
}
  
const arrayObject = [2,4,8,16,32,64];

console.log(binarySearch(64, arrayObject));