[Leetcode] 34. Search for a Range
2015-03-15 00:01
459 查看
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
For example,
Given
return
值得注意的是,加上 ll <= rr的判断语句,是为了判断是否真的找到了target number,如果找到了,ll必然小于等于rr。
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].
值得注意的是,加上 ll <= rr的判断语句,是为了判断是否真的找到了target number,如果找到了,ll必然小于等于rr。
public class Solution { public int[] searchRange(int[] A, int target) { int[] result = {-1, -1}; if(A == null || A.length == 0) return result; int ll = 0; int lr = A.length - 1; while(ll <= lr){ int mid = (ll + lr) / 2; if(A[mid] < target){ ll = mid + 1; } else { lr = mid - 1; } } int rl = 0; int rr = A.length - 1; while(rl <= rr){ int mid = (rl + rr) / 2; if(A[mid] <= target){ rl = mid + 1; } else { rr = mid - 1; } } if(ll <= rr){ result[0] = ll; result[1] = rr; } return result; } }
相关文章推荐
- LeetCode 34.Search for a Range
- [leetcode 34] Search for a Range
- Search for a Range - LeetCode 34
- Leetcode34 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
- 【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