Binary Search Template
class Solution {
public int search(int[] nums, int target) {
// search range : [start, end)
int start = 0;
int end = nums.length;
// remember loop condition: start < end,
// will terminate if start == end;
while(start<end){
// mid position is righter (not important)
int mid = (start+end)/2;
if (nums[mid] == target) return mid;
if(nums[mid] > target){
// new range: [start, mid)
end = mid;
}
else{
// new range: [mid+1, end)
start = mid+1;
}
}
return -1;
}
}Last updated