lintcode-搜索区间-61
2015-09-08 23:51
309 查看
给定一个包含 n 个整数的排序数组,找出给定目标值 target 的起始和结束位置。
如果目标值不在数组中,则返回
样例
给出
返回
如果目标值不在数组中,则返回
[-1, -1]
样例
给出
[5, 7, 7, 8, 8, 10]和目标值target=
8,
返回
[3, 4]
class Solution { public: int LowerBound(vector<int> &A,int target){ int y=A.size(); int x=0; while(x<y){ int mid=x+(y-x)/2; if(target>A[mid]) x=mid+1; else y=mid; } return x; } vector<int> searchRange(vector<int> &A, int target) { vector<int> v(2,-1); if(A.empty()) return v; bool f=false; int i=LowerBound(A,target); int end=i; while(A[end]==target){ ++end; f=true; } if(f){ v[0]=i; v[1]=end-1; } return v; } };
相关文章推荐
- 信息的存储和表示
- 矩阵奇异值分解(SVD)及其应用
- 半路出家——Java中的访问权限控制
- OGNL valueStack StackContext(ActionContext)深入分析(转+个人理解)
- php中数组的建立和遍历
- 字节对齐
- 网络部分(二)
- 设计模式-行为型之策略模式
- Qt、Qte、Qtopia、Qvfb、Qpe概念区别
- iOS面试题05-父子控制器、内存管理
- uva 10285 最长的滑雪路径
- 求 李天生VB.NET 视频教程 及解压密码
- Android Studio(六):Android Studio添加注释模板
- 关于ES、PES、PS以及TS码流
- Android Studio(六):Android Studio添加注释模板
- MySQL查询缓存
- 前端学习
- How to log in Spring with SLF4J and Logback
- Android App 内存泄露之Thread
- Sql Server,如何去含有非数字的nvarchar,再转为为数值