Search for a Range
来源:互联网 发布:上海软件研发质量咨询 编辑:程序博客网 时间:2024/06/05 01:58
Given a sorted array of integers, find the starting and ending position of a given target value.
Your algorithm's runtime complexity must be in the order of O(log n).
If the target is not found in the array, return [-1, -1].
For example,
Given [5, 7, 7, 8, 8, 10] and target value 8,
return [3, 4].
vector<int> searchRange(int A[], int n, int target){ int left = 0, right = n - 1, mid; vector<int> ans(2); while(left <= right) { mid = (left + right) / 2; if(target == A[mid]) { int leftPos = mid; while(leftPos >= left && A[leftPos] == target) leftPos--; ans[0]=leftPos+1; int rightPos = mid; while(rightPos <= right && A[rightPos] == target) rightPos++; ans[1]=rightPos-1; return ans; } else if(target < A[mid]) right = mid - 1; else left = mid + 1; } ans[0]=-1; ans[1]=-1; return ans;}
0 0
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range !!!
- Search for a Range
- Search for a Range
- Search For A Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- jbpm 不使用zip发布流程
- Nginx学习(7)—http过滤模块(2)
- 外网访问内网的FTP服务器
- ASP广告作弊程序代码
- Java多线程 阻塞队列和并发集合
- Search for a Range
- 大数据时代的IT架构设计
- 编程需要注意的一些问题
- js获取浏览器高度和宽度值
- UVA 1351 String Compression(区间DP)
- nginx:单独抽取nginx的红黑树源码以及运行例子
- 创业公司如何实施敏捷开发
- Python yield 使用浅析
- linux下批量删除utf8 bom