704. Binary Search
Intitution
Complexity
Space Complexity
Time Complexity
Code
public int search(int[] nums, int target) {
// Edge case: only one element
if (nums.length == 1) return nums[0] == target ? 0 : -1;
int left = 0, right = nums.length - 1;
while (left <= right) {
int mid = (left + right) >> 1; // Efficient way to get mid = (left + right) / 2
if (nums[mid] == target) return mid; // Found target
if (nums[mid] > target) {
right = mid - 1; // Target is in the left half
} else {
left = mid + 1; // Target is in the right half
}
}
return -1; // Target not found
}Last updated