LeetCode 34. Search for a Range
来源:互联网 发布:菜鸟网络能上市吗? 编辑:程序博客网 时间:2024/06/05 07:36
题意
在一个有序序列中找到一个
思路
两次二分查找,一个查找上界,一个查找下界
需要注意的
二分查找中有可能最后一次遍历的数未被检查,所以说在查找后检查一下.
代码
class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { int ansL = -1, ansR = -1; int l = 0, r = nums.size() - 1; while(l < r){ int mid = (l + r) / 2; if(nums[mid] < target){ l = mid + 1; } else{ r = mid; if(nums[mid] == target){ ansL = mid; } } } if(nums.size() > 0 && l == r && nums[l] == target) ansL = l; l = 0, r = nums.size() - 1; while(l < r){ int mid = (l + r) / 2; if(nums[mid] > target){ r = mid; } else{ l = mid + 1; if(nums[mid] == target){ ansR = mid; } } } if(nums.size() > 0 && l == r && nums[r] == target) ansR = r; vector<int>ans; ans.push_back(ansL); ans.push_back(ansR); return ans; }};
阅读全文
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 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
- LeetCode 34. Search for a Range
- SSH框架浅析
- 使用github 更新本地源码到阿里云 操作记录(linux)
- 搜索树BinarySearchTree
- Eclipse+pydev 常用快捷键
- 南阳理工oj第3题
- LeetCode 34. Search for a Range
- C# 数据类型
- 操作系统(五)存储模型
- 2017-05-30:Unity5.6.1实现联网模式下控制多玩家在场景中的移动
- TFcaiCH3
- fl2440模块学习——3G拨号上网
- <? extends T>和<? super T>
- SpringBoot应用监控
- Codeforces contest 802 problem G