【一天一道LeetCode】#34. Search for a Range
来源:互联网 发布:java whi循环99乘法表 编辑:程序博客网 时间:2024/06/11 04:49
一天一道LeetCode系列
(一)题目
Given a sorted array of integers, 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 i = 0; int j = nums.size()-1; int idx = -1; vector<int> ret; while(i <= j) { int mid = (i+j)/2; if(nums[mid] == target) { idx = mid; break; } else if(nums[mid]>target) { j = mid-1; } else if(nums[mid]<target) { i = mid+1; } } if(idx!=-1){ int k = idx; while(k>=0 && nums[k] == target) k--; int m = idx; while(m<nums.size()&&nums[m] == target) m++; ret.push_back(k+1); ret.push_back(m-1); } else{ ret.push_back(-1); ret.push_back(-1); } return ret; }};
0 0
- 【一天一道LeetCode】#34. Search for a Range
- [LeetCode]34.Search for a Range
- LeetCode --- 34. Search for a Range
- LeetCode 34.Search for a Range
- [Leetcode] 34. Search for a Range
- [leetcode] 34.Search for a Range
- 【leetcode】34. Search for a Range
- [leetcode] 34. Search for a Range
- Leetcode 34. Search for a Range
- LeetCode 34. Search for a Range
- <LeetCode OJ> 34. Search for a Range
- 34. Search for a Range LeetCode
- [Leetcode]34.Search for a Range
- leetcode 34. Search for a Range
- leetcode 34. Search for a Range
- leetcode 34. Search for a Range
- leetcode 34. Search for a Range
- LeetCode *** 34. Search for a Range
- C# winform中DataGridView最常用的知识点
- [C++]实现--讨论关于实现中可能出现的问题
- [系统运维]进程的守护神 - Supervisor
- 第一篇自己的博客(java,android)
- win10安装nginx
- 【一天一道LeetCode】#34. Search for a Range
- HttpClient用于https交互
- Android Studio Subversion 版本异常报错
- 用同文输入法,实现五笔双键布局
- DRP总结—Model1和Model2的区别
- Android应用中如何调用其他应用的Activity
- leetcode-118. Pascal's Triangle
- bzoj 1596: [Usaco2008 Jan]电话网络
- UIButton、UITextField、UISlider、UISwitch、UISegmentedControl