[leetCode] Search for a Range
2015-05-11 22:30
351 查看
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
public class Solution {
public int[] searchRange(int[] nums, int target) {
int l = 0, r = nums.length - 1;
int[] res = new int[2];
while (l <= r) {
if (nums[l] == target && nums[r] == target) {
res[0] = l;
res[1] = r;
return res;
}
int m = (l + r)/2;
if (nums[m] < target) {
l = m + 1;
}
else if (nums[m] > target) {
r = m - 1;
}
else {
if (nums[l] != target)
l++;
if (nums[r] != target)
r--;
}
}
res[0] = -1; res[1] = -1;
return res;
}
}
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].
public class Solution {
public int[] searchRange(int[] nums, int target) {
int l = 0, r = nums.length - 1;
int[] res = new int[2];
while (l <= r) {
if (nums[l] == target && nums[r] == target) {
res[0] = l;
res[1] = r;
return res;
}
int m = (l + r)/2;
if (nums[m] < target) {
l = m + 1;
}
else if (nums[m] > target) {
r = m - 1;
}
else {
if (nums[l] != target)
l++;
if (nums[r] != target)
r--;
}
}
res[0] = -1; res[1] = -1;
return res;
}
}
相关文章推荐
- [leetcode] Search for a Range
- LeetCode - 34. Search for a Range
- leetcode-二分查找:Search for a range
- leetcode:Search for a Range
- LeetCode 34.Search for a Range
- (Java)LeetCode-34. Search for a Range
- Leetcode: 34. Search for a Range
- leetcode:Search for a Range
- Leetcode 34. Search for a Range
- [Leetcode] Search for a Range
- LeetCode 34 Search for a Range (C,C++,Java,Python)
- leetcode题解:Search for a Range (已排序数组范围查找)
- leetcode006-Search for a Range
- Leetcode 34, Search for a Range
- LeetCode 34. Search for a Range
- leetcode_Search for a Range
- 34. Search for a Range LeetCode
- LeetCode Search for a Range (二分查找)
- LeetCode 34. Search for a Range
- LeetCode题解: Search for a Range