leetcode search for a range
来源:互联网 发布:图片尺寸测量标注软件 编辑:程序博客网 时间:2024/06/05 22:51
class Solution {public: vector<int> searchRange(int A[], int n, int target) { vector<int> ret; ret.push_back(-1); ret.push_back(-1); if(n < 1){ return ret; } ret.clear(); int left = 0, right = n - 1; int recleft = 0x7fffffff, recright = -1; while(left <= right){ int mid = (left + right) >> 1; if(A[mid] == target){ //search to left and right int rec = mid; while(rec >= 0 && A[rec] == target){ --rec; } //更新recleft和recright时对边界的处理 recleft = rec < 0 ? 0 : (rec + 1); rec = mid; while(rec < n && A[rec] == target){ ++rec; } recright = rec >= n ? (n - 1): (rec - 1); ret.push_back(recleft); ret.push_back(recright); //记得及时return! return ret; } else if(A[mid] > target){ right = mid - 1; } else{ left = mid + 1; } } ret.push_back(-1); ret.push_back(-1); return ret; }};
0 0
- LeetCode: Search for a Range
- LeetCode Search for a Range
- [Leetcode] Search for a Range
- LeetCode : Search for a Range
- [LeetCode] Search for a Range
- [Leetcode] Search for a Range
- Leetcode Search for a Range
- [LeetCode]Search for a Range
- LeetCode-Search for a Range
- [leetcode] Search for a Range
- LeetCode - Search for a Range
- Search for a Range leetcode
- LeetCode | Search for a Range
- LeetCode - Search for a Range
- LeetCode: Search for a Range
- leetcode: Search for a Range
- 【leetcode】Search for a Range
- Leetcode: Search for a Range
- EFI分区win7、Ubuntu 12 desktop 64位双系统引导设置
- Oracle存储过程简例1
- 【LeetCode】Flatten Binary Tree to Linked List
- 计算某一天是当年的第几天——菜鸟学编程1
- Android:在ADT中快速多行注释的方法
- leetcode search for a range
- Thread笔记
- 线段树,树状数组
- Java
- ViewController生命周期
- CodeForces - 515B Drazil and His Happy Friends
- 【SICP练习】134 练习3.65
- 字符串的下划线命名和驼峰命名转换
- 求两个字符串的最大公共长度 看到的一道阿里笔试题