[LeetCode]34. Search for a Range
2017-03-08 22:17
369 查看
https://leetcode.com/problems/search-for-a-range/?tab=Description
二分查找有重复数字的递增序列target的起止位置
二分变种,好好记清楚!!!
二分查找有重复数字的递增序列target的起止位置
二分变种,好好记清楚!!!
public class Solution { public int[] searchRange(int[] nums, int target) { int[] res = {-1, -1}; if (nums == null || nums.length == 0) { return res; } int beg = 0; int end = nums.length - 1; while (beg <= end) { int mid = beg + (end - beg) / 2; if (nums[mid] >= target) { end = mid - 1; } else { beg = mid + 1; } } res[0] = beg < nums.length && nums[beg] == target ? beg : -1; beg = 0; end = nums.length - 1; while (beg <= end) { int mid = beg + (end - beg) / 2; if (nums[mid] <= target) { beg = mid + 1; } else { end = mid - 1; } } res[1] = end >= 0 && nums[end] == target ? end : -1; return res; } }
相关文章推荐
- 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
- 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 -- Search for a Range
- LeetCode --- 34. Search for a Range
- [LeetCode]34 Search for a Range
- LeetCode 34 — Search for a Range(C++ Java Python)
- LeetCode 34 Search For A Range 二叉查找相关(二)
- 【LeetCode 34】Search for a Range
- leetCode 34.Search for a Range (搜索范围) 解题思路和方法
- leetcode_34——Search for a Range(二分查找)