Skip to content

Instantly share code, notes, and snippets.

@zry656565
Last active April 4, 2016 13:19
Show Gist options
  • Save zry656565/77790e564010aedb8a87ab6d0c0f78ba to your computer and use it in GitHub Desktop.
Save zry656565/77790e564010aedb8a87ab6d0c0f78ba to your computer and use it in GitHub Desktop.
function binarySearch(array, start, end, target) {
while (true) {
if (start > end) return -1;
if (end - start < 2) {
if (target === array[end]) return end;
else if (target === array[start]) return start;
else return -1;
}
var mid = Math.floor((start + end) / 2);
if (target === array[mid]) return mid;
else if (target < array[mid]) end = mid;
else start = mid + 1;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment