34. Search for a Range
来源:互联网 发布:vue.js prop 编辑:程序博客网 时间:2024/06/07 13:13
简单题,先找数字的位置,再找范围。
class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { vector<int> result; result.push_back(-1); result.push_back(-1); if(nums.size()==0) return result; int left=0; int right=nums.size()-1; int mid=0; while(right-left>1) { mid=left+(right-left)/2; if(nums[mid]>target) right=mid-1; else if(nums[mid]<target) left=mid+1; else break; } int targetIndex=0; if(right-left>1) targetIndex=mid; else { if(nums[left]==target) targetIndex=left; else if(nums[right]==target) targetIndex=right; else targetIndex=-1; } //cout<<targetIndex; if(targetIndex>=0) { int leftRange=targetIndex; int rightRange=targetIndex; while(leftRange>=0&&nums[leftRange]==target) leftRange--; while(rightRange<nums.size()&&nums[rightRange]==target) rightRange++; result[0]=(leftRange+1); result[1]=(rightRange-1); } return result; }};
0 0
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- eclipse Git插件Team中不显示
- C语言主函数返回值含义
- Android启动流程--学会使用init.rc
- 快速搭建php环境并使用phpstorm调试php代码
- 数据库以及带级联删除功能的表的建立
- 34. Search for a Range
- Json与javaBean之间的转换工具类
- (转)Android Studio快捷键大全 和 Eclipse对照
- yii form 表单提交之前JS在提交按钮的验证
- RxBus
- Android在所有代码中使用Toast,包括非UI线程
- mini ui form.setData()设置不上值
- Josephus Problem (约瑟夫环数学解法)
- (转)Android Studio 与 Eclipse 快捷键对照及AS常用快捷键