R
|
🔥Problem of the Day+50 XPDev Score: 780/1000
All Problems (8)
EasyBinary Search•Acceptance: 57.8%

Binary Search: O(log n) Halving Engine

Real-World Engineering Context
Foundational primitive behind B-Trees, database indexing in Postgres/MySQL, and Git Bisect bug isolation.
Given an array of integers `nums` which is sorted in ascending order, and an integer `target`, write a function to search `target` in `nums`. If `target` exists, then return its index. Otherwise, return `-1`. You must write an algorithm with `O(log n)` runtime complexity.

Sample Test Cases

Input: [[-1,0,3,5,9,12],9]
Expected: 4
Input: [[-1,0,3,5,9,12],2]
Expected: -1
Input: [[5],5]
Expected: 0

Constraints

  • 1 <= nums.length <= 10^4
  • -10^4 < nums[i], target < 10^4
  • All the integers in nums are unique.
  • nums is sorted in ascending order.