Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public int[] searchRange(int[] nums, int target) {
- if(nums == null){
- return new int[]{-1,-1};
- }
- int start = 0;
- int end = nums.length - 1;
- while(start <= end){
- int mid = (start + end)/2;
- if(nums[mid] < target){
- start = mid + 1;
- }else if(nums[mid] > target){
- end = mid - 1;
- }else{
- int[] res = new int[2];
- //get the smallest
- int i = mid;
- while(i >= 0 && nums[i] == target){
- i--;
- }
- res[0] = i + 1;
- i = mid;
- while(i < nums.length && nums[i] == target){
- i++;
- }
- res[1] = i - 1;
- return res;
- }
- }
- return new int[]{-1,-1};
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement