Leetcode 34 - Search for a Range
来源:互联网 发布:网络电视机顶功能 编辑:程序博客网 时间:2024/05/22 11:33
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].
思路:题目要求时间复杂度为O(log n),故使用binary search实现。先找到target,再确定target的范围即可。
class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { vector<int> result; int left = 0,right = nums.size()-1; int mid; int a,b; //Binary Search while(left<=right){ mid = (left+right)/2; //找到target if(nums[mid] == target){ a = left; b = right; //确定范围(Range) while(nums[a]!=target) a++; while(nums[b]!=target) b--; result.push_back(a); result.push_back(b); return result; } else{ if(nums[mid]>target) right = mid - 1; if(nums[mid]<target) left = mid + 1; } } return {-1,-1}; }};
0 0
- LeetCode(34)Search for a Range
- [LeetCode] Search for a Range [34]
- LeetCode 34 Search for a Range
- [leetcode 34] Search for a Range
- Leetcode NO.34 Search for a Range
- [LeetCode 34]Search for a Range
- leetcode-34 Search for a Range
- Leetcode 34 Search for a Range
- Search for a Range - LeetCode 34
- 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, Medium] Search for a Range
- [leetcode-34]Search for a Range(C)
- Leetcode#34||Search for a Range
- LeetCode(34)Search for a Range
- JavaScript复习
- 2015年第六届蓝桥杯C/C++程序设计本科B组省赛 星系炸弹(结果填空)
- Leetcode 151. Reverse Words in a String
- 可以播放GIF和显示圆形图片的自定义ImageView
- Mybatis学习笔记 01
- Leetcode 34 - Search for a Range
- Object-C--->Swift之(七)嵌套函数与闭包
- 开年第一篇
- SurfaceView
- 75.Path Sum
- 11g RAC and DG
- [Swift开发实战]- 类型的扩展
- redis集群
- 使用Dom4j解析XML