All problems
EasyBinary Search

Binary Search

googleamazonmicrosoftapplebloomberg

Given a sorted array of integers nums in ascending order and an integer target, write a function to search target in nums. If target exists, return its index. Otherwise, return -1.

You must write an algorithm with O(log n) runtime complexity.

Example 1:

Input: nums = [-1,0,3,5,9,12], target = 9
Output: 4
Explanation: 9 exists in nums and its index is 4.

Example 2:

Input: nums = [-1,0,3,5,9,12], target = 2
Output: -1
Explanation: 2 does not exist in nums so return -1.

Examples

Example 1

Input: nums = [-1,0,3,5,9,12], target = 9

Output: 4

Explanation: 9 exists in nums and its index is 4.

Example 2

Input: nums = [-1,0,3,5,9,12], target = 2

Output: -1

Explanation: 2 does not exist in nums so return -1.

Example 3

Input: nums = [5], target = 5

Output: 0

Explanation: 5 exists in nums and its index is 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.

Optimal Complexity

Time

O(log n)

Space

O(1)

One problem, two ways to prep

Choose between solo practice and interview simulation

Practice Mode keeps things simple with code + tests. AI Interview Mode adds voice, pressure, and a post-round score summary.