Back to Practice Dashboard
DSA SectionEasy

Binary Search

Learn how to solve the 'Binary Search' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

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.

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.

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

Need a Hint?
Analyze the input constraints. Try sorting first (O(n log n)) or using a hash map/set to track seen elements in O(n) time.
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor