function binarySearch(arr: number[], target: number): number { let lower: number = 0; let upper: number = arr.length - 1; let pos: number = -1;
while (lower <= upper) { const mid: number = Math.floor((lower + upper) / 2); const num: number = arr[mid];
if (num < target) { lower = mid + 1; } else if (num > target) { upper = mid - 1; } else { pos = mid; break; } }
return pos; }
|