binaryserachindex javascript
function binarySearchIndex (array, target, low = 0, high = array.length - 1) {
if (low > high) {
return -1
}
const midPoint = Math.floor((low + high) / 2)
if (target < array[midPoint]) {
return binarySearchIndex(array, target, low, midPoint - 1)
} else if (target > array[midPoint]) {
return binarySearchIndex(array, target, midPoint + 1, high)
} else {
return midPoint
}
}let arr = [1, 3, 5, 7, 8, 9];
let binarySearch = (arr, x , strt, end) => {
if(end < strt) return false;
let mid = Math.floor((strt + end) / 2);
if(arr[mid] === x) {
return true;
}
if(arr[mid] < x) {
return binarySearch(arr, x, mid+1, end);
}
if(arr[mid] > x) {
return binarySearch(arr, x , strt, mid-1);
}
}
let strt = 0, end = arr.length -1;
let bool = binarySearch(arr, 7, strt, end);
console.log(bool);
Also in JavaScript:
- javascript append how first element
- javascript forEach return
- statusbar.sethidden(true) in react native
- js join a list of items with a number
- discord.js rich embed
- eval in js
- How to pass a map from controller to javascript function in VF page
- how to validate input type=date in javascript
- MuiInputLabel-shrink change styles
- type a promise
- ERROR TypeError: Cannot assign to read only property 'reportAirport' of object '[object Object]
- get attribute value jquery
- align left text in reactstrap
- chack var exist for skip error on javascript
- mdn select event
- js rounding
- jquery use variable in string "without" concatenate
- if statement javascript one line ?
- javascript es6 class
- change the position of div using javascript
- go to another page javascript
- javascript casting objects
- jquery accordion
- multiple ckeditor on same page