LeetCode Search for a Range
来源:互联网 发布:网络限制不能玩游戏 编辑:程序博客网 时间:2024/06/10 20:47
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]
.
思路:进行二分搜索,当找到目标值时,在已该元素为中心进行扩展,从而确定区域范围
代码如下:
class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { int middle,front,back; int start=-1,end=-1; vector<int> result; front = 0,back=nums.size()-1; middle = (front+back)/2; while(front<=back) { if(nums[middle] > target) { back=middle-1; middle=(front+back)/2; } else if(nums[middle] < target) { front = middle+1; middle=(front+back)/2; } else { start=end=middle; while(start>0 && nums[start-1] == target) start--; while(end < nums.size()-1 && nums[end+1] == target) end++; break; } } result.push_back(start); result.push_back(end); return result; }};
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
- 电商业邮件营销 | 营销自动化下的八大触发类邮件
- Linux常用命令
- react+redux 前端开发流程
- Spring+quartz定时任务(配置)
- Redis无法保存ef复杂对象
- LeetCode Search for a Range
- struts2 报403 错误
- 深度学习入门(写的很好)
- 【POJ2186】Popular Cows 有向图强连通分量详解(再水一篇怕被骂、、所以。。)
- linux mmap用法:
- NSInteger转换时间格式字符串和模糊计数字符串
- 从尾到头打印链表
- session是否过期
- 微信群发图文消息步骤说明