<34>——Search for a Range
来源:互联网 发布:比亚迪和特斯拉知乎 编辑:程序博客网 时间:2024/06/01 08:37
34、Search for a Range
搜索区间
给定一个包含 n 个整数的排序数组,找出给定目标值 target 的起始和结束位置。
如果目标值不在数组中,则返回[-1, -1]
样例
给出[5, 7, 7, 8, 8, 10]
和目标值target=8
,
返回[3, 4]
分析:
先用二分查找找出第一个target,然后往后遍历查找最后一个target。
代码:
class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { vector<int> res(2,-1); if(nums.size()<1)return res; int lo=0,hi=nums.size()-1; while(lo<hi) { int mid=lo+(hi-lo)/2; if(nums[mid]<target)lo=mid+1; else hi=mid; } if(nums[lo]!=target)return res; while(hi+1<nums.size()&&nums[hi+1]==target)hi++; res[0]=lo; res[1]=hi; return res; }};
阅读全文
0 0
- <34>——Search for a Range
- LeetCode —— Search for a Range
- LeetCode——Search for a Range
- LeetCode——Search for a Range
- LeetCode34——Search for a Range
- leetcode——Search for a Range
- LeetCode——Search for a Range
- Algorithms—34.Search for a Range
- leetcode——34——Search for a Range
- 【leetcode】Array——Search for a Range(34)
- 34、Search for a Range
- 34 Search for a Range
- 34、Search for a Range
- 34Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range !!!
- Oracle中Merge into用法总结
- python实现简单爬虫功能
- thinkphp在Nginx下使用PATHINFO模式显示no input file specified的解决方法
- 设计模式C++实现(2)——策略模式
- 如何使用工具调试linux服务程序
- <34>——Search for a Range
- VMware中Centos7.2的桥接模式的网络配置
- CSS3 3D Transform perspective 以及scale3d记录
- Maven构建MyBatis项目Demo
- Apache Spark 2.2.0 中文文档
- FTPrep, 82 Remove Duplicates from Sorted List II
- ES6之块级作用域分析
- java7 MethodHandle学习笔记
- 58数据库规约