Binary Search - Problem
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.
Input & Output
Example 1 — Target Found
$
Input:
nums = [-1,0,3,5,9,12], target = 9
›
Output:
4
💡 Note:
9 exists in nums and its index is 4
Example 2 — Target Not Found
$
Input:
nums = [-1,0,3,5,9,12], target = 2
›
Output:
-1
💡 Note:
2 does not exist in nums so return -1
Example 3 — Single Element
$
Input:
nums = [5], target = 5
›
Output:
0
💡 Note:
Target found at index 0 in single-element array
Constraints
- 1 ≤ nums.length ≤ 104
- -104 < nums[i], target < 104
-
All the integers in
numsare unique -
numsis sorted in ascending order
Visualization
Tap to expand
Understanding the Visualization
1
Input
Sorted array and target value
2
Process
Binary search eliminates half each step
3
Output
Index of target or -1 if not found
Key Takeaway
🎯 Key Insight: Binary search eliminates half the search space with each comparison by leveraging the sorted array property
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code