Search for a range Posted on 2018-06-24 Linkagehttps://leetcode.com/problems/search-for-a-range/description/ Code123456789101112131415161718192021222324252627282930313233343536373839class Solution { public int[] searchRange(int[] nums, int target) { int[] None = {-1, -1}; if (nums.length == 0) return None; int left = 0; int right = nums.length - 1; int mid = ( left + right ) / 2; while (left <= right) { if (nums[mid] == target) { return searchForRange(nums, target, mid); } if (left == right) { return None; } if (nums[mid] < target) left = mid + 1; if (nums[mid] > target) right = mid - 1; mid = ( left + right ) / 2; } return None; } public int[] searchForRange(int[] nums, int target, int position) { int left = position; int right = position; while (left-1 >= 0 && nums[left-1] == target) { left -= 1; } while (right + 1 < nums.length && nums[right + 1] == target) { right += 1; } int[] ret = {left, right}; return ret; } }