34. Search for a Range
来源:互联网 发布:趣味性软件使用教程 编辑:程序博客网 时间:2024/05/01 13:00
class Solution {
public:
vector<int> searchRange(vector<int>& nums, int target) {
//
int left=0,right=nums.size()-1;
vector<int> res{-1,-1};
if(nums.empty()) return res;
//第一次binary search,找左边边界
while(left<=right){
int mid=left+(right-left)/2;
if(nums[mid]>=target){
right=mid-1;
}else
left=mid+1;
}
if(left>=nums.size()||nums[left]!=target) return res;
res[0]=left;
right=nums.size()-1;
while(left<=right){
int mid=left+(right-left)/2;
if(nums[mid]>target){
right=mid-1;
}else
left=mid+1;
}
res[1]=right;
return res;
}
};
public:
vector<int> searchRange(vector<int>& nums, int target) {
//
int left=0,right=nums.size()-1;
vector<int> res{-1,-1};
if(nums.empty()) return res;
//第一次binary search,找左边边界
while(left<=right){
int mid=left+(right-left)/2;
if(nums[mid]>=target){
right=mid-1;
}else
left=mid+1;
}
if(left>=nums.size()||nums[left]!=target) return res;
res[0]=left;
right=nums.size()-1;
while(left<=right){
int mid=left+(right-left)/2;
if(nums[mid]>target){
right=mid-1;
}else
left=mid+1;
}
res[1]=right;
return res;
}
};
0 0
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- java利用url实现网页内容的抓取
- 设计模式----装饰模式(C++实现)
- HTML5学习之摄像头拍照组件的封装
- 1
- 【设计模式】整洁代码
- 34. Search for a Range
- imx6q内核定时器实现led闪烁
- WEB-AJAX和JQuery篇
- AWS RDS设置参数组:修改character_set_server为UTF8
- 用Java实现给图片添加文字水印
- 各种排序算法的JAVA实现
- 2
- 深入浅出DNS系列(五)-查询过程详解
- 基于Vue2的移动端开发环境搭建详解