Binary Search
Updated Jan 31, 2026
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.
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
Example 2
Input:
nums = [-1,0,3,5,9,12], target = 2
Output:
-1
Function Signature
def search(self, nums: list[int], target: int) -> int
How to Submit
Implement a Solution class with a search method.
Your method will be called with the input parameters and should return the answer.