All Problems
#6 easy searching

Binary Search

Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search for 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 at index 4
Example 2
Input:  nums = [-1,0,3,5,9,12], target = 2
Output: -1
Explanation: 2 does not exist in nums
Constraints:
1 <= nums.length <= 10^4 -10^4 < nums[i], target < 10^4 All integers in nums are unique. nums is sorted in ascending order.
Hint 1: Maintain left and right pointers. Check the mid element each iteration.
Hint 2: If mid > target, search left half. If mid < target, search right half.
Run your code to see AI analysis