LeetCode 034 Search for a Range
来源:互联网 发布:科比2010总决赛数据 编辑:程序博客网 时间:2024/06/03 16:25
Given an array of integers sorted in ascending order, 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]
.
AC代码如下:
class Solution {public://先用二分查找找出这个数,再由这个数往左、往右查找边界(非最优,最坏情况下为O(n)) vector<int> searchRange(vector<int>& nums, int target) { vector<int> ret; int left=0; int right=nums.size()-1; int mid; while(left<=right){ mid=(left+right)/2; if(nums[mid]==target) break; else if(nums[mid]<target) left=mid+1; else right=mid-1; } if(left>right){ ret.push_back(-1); ret.push_back(-1); return ret; }else{ int i=mid,j=mid; int length=nums.size(); for(;i>=0;i--){ if(nums[i]!=target) break; } for(;j<length;j++){ if(nums[j]!=target) break; } ret.push_back(i+1); ret.push_back(j-1); return ret; } }};
0 0
- LeetCode 034 Search for a Range
- LeetCode(034) Search For a Range (Java)
- leetcode 034 Search for a Range
- LeetCode 034 Search for a Range
- [LeetCode]034-Search For A Range
- leetcode 034 Search for a Range
- leetcode 034 Search For A Range
- LeetCode 034 Search for a Range
- LeetCode 034 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
- MC和redis的区别
- 微信小程序_请求失败
- 转:ORACLE 中ROWNUM用法总结!
- 正定矩阵的稀疏张量分解
- iOS监测网络状态
- LeetCode 034 Search for a Range
- vmware安装问题:Microsoft Runtime DLL安装程序未能完成安装
- 【Linux】find指令
- 简单回溯法
- Thread的run()和start()的区别
- iOS
- ios 强制横屏大总结
- .gitignore没有生效
- Spring有哪些优点缺点