Binary Search:34. Search for a Range
来源:互联网 发布:网络十大公会 编辑:程序博客网 时间:2024/05/21 06:26
使用两次二分查找法,第一次找到左边界,第二次调用找到右边界即可.
class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { vector<int> res(2, -1); if(nums.empty()) return res; int left = 0, right = nums.size() - 1; while (left < right) { int mid = left + (right - left) / 2; if (nums[mid] < target) left = mid + 1; else right = mid; } if (nums[right] != target) return res; res[0] = right; right = nums.size(); while (left < right) { int mid = left + (right - left) / 2; if (nums[mid] <= target) left = mid + 1; else right= mid; } res[1] = left - 1; return res; }};
阅读全文
0 0
- Binary Search:34. Search for a Range
- LeetCode 34. Search for a Range(binary search)
- leetcode 34. Search for a Range (binary search std::lower_bound)
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 用C实现C编译器(一)
- Filter(第四节)
- Junit单元测试避免死循环
- 深入Struts2学习(三)
- 基于Java和websocket的在线聊天程序(可群发和选择用户)
- Binary Search:34. Search for a Range
- C语言中的宏
- 数组中的strlen和sizeof
- GIT的安装及上传代码到码云
- 白话解析:一致性哈希算法 consistent hashing
- 本文作者YY硕,来自大疆工程师《机器人工程师学习计划》
- 从零开始学电脑 3.1
- laravel中多个DB连接--读写分离
- [BZOJ]3670 [NOI]2014 动物园 KMP好题