leetCode_Search for a Range(二分查找)
2016-06-16 09:55
267 查看
题意:给定一个排序好的数组,找出该数组中等于某个值得所有元素的下标,返回第一个下标和最后一个下标
vector<int> searchRange(vector<int>& a, int target) { int length=a.size(),left,right,middle,li=-1,ri=-1; vector<int> ans; left=0; right=length-1; while(left<=right) { middle=(left+right)/2; if(a[middle]==target&&(middle==0||a[middle-1]<target)) { li=middle; break; } else if(a[middle]>=target) right=middle-1; else left=middle+1; } left=0; right=length-1; while(left<=right) { middle=(left+right)/2; if(a[middle]==target&&(middle==length-1||a[middle+1]>target)) { ri=middle; break; } else if(a[middle]>target) right=middle-1; else left=middle+1; } ans.push_back(li); ans.push_back(ri); return ans; }
相关文章推荐
- C#算法之大牛生小牛的问题高效解决方法
- TopCoder SRM484 div1 250 题解
- html文件的中文乱码问题与在浏览器中的显示
- java基础-类型转换
- 破解常用断点和方法
- 教你成为全栈工程师
- 用最简单的方式实现基于libevent框架的http client客户端
- C++ explicit的作用
- 电信800M 3G的技术优势
- Android:设计之屏幕适配
- 3-34 内存输出(打印数据)
- MF_RC522及S50卡学习
- LeetCode 191. Number of 1 Bits
- Redis
- 如何让捕鱼游戏打中的鱼变红。
- buffer cache chain 图
- http://dl.google.com/android/ndk/android-ndk-r9d-darwin-x86_64.tar.bz2
- Cocos2dx 中的CCCallFunc,CCCallFuncN,CCCallFuncND,CCCallFuncO比较
- Creating Custom FFmpeg IO-Context
- Wijmo:使用Angular2创建HTML5/TypeScript的输入控件