您的位置:首页 > 其它

Leetcode 34, Search for a Range

2016-07-13 14:27 288 查看
public int[] searchRange(int[] nums, int target) {
if(nums == null || nums.length == 0){
return null;
}

int[] result = {-1, -1};
//binary search, 2 times
int start = 0;
int end = nums.length - 1;

while(start <= end){
int mid = start + (end - start) / 2;
if(nums[mid] > target){
end = mid - 1;
}else if(nums[mid] < target){
start = mid + 1;
}else{
result[0] = mid;
end = mid - 1;
}
}

start = 0;
end = nums.length - 1;
while(start <= end){
int mid = start + (end - start) / 2;
if(nums[mid] < target){
start = mid + 1;
}else if(nums[mid] > target){
end = mid - 1;
}else{
result[1] = mid;
start = mid + 1;
}
}

return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: