Binary Search
Given a sorted ascending array nums and a target, return the index of target, or -1 if it's absent. Must run in O(log n) — the whole point is to halve the search space each step.
The classic pitfalls interviewers watch for: computing mid without overflow, and getting the lo <= hi loop boundary right so you don't skip or infinite-loop.
binarySearch([-1, 0, 3, 5, 9, 12], 9); // 4
binarySearch([-1, 0, 3, 5, 9, 12], 2); // -1