Binary Search

Run Settings
LanguageJavaScript
Language Version
Run Command
// 二分查找 main(); function main(){ let arr = [-3,-1,...Array(100).keys()]; let index = run(arr,0); if(!~index){ console.log("not contain") }else{ console.log("index:",index, "\tbefore:",arr[index], "\tafter:",arr[index+1]) } } function run(arr,value){ let end = arr.length - 1; if(arr === undefined || arr.length === 0 ||value<arr[0]||value>arr[end]){ return -1; } return half(arr,0,end,value) } function half(arr,start,end,value){ if(start+1 >= end) return start; let mid = start + ((end - start)>>1); return arr[mid] >= value? half(arr,start,mid,value):half(arr,mid,end,value); }
Editor Settings
Theme
Key bindings
Full width
Lines