1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| package com.demo.s34;
public class Solution { public int[] searchRange(int[] nums, int target) { if(nums.length == 0) return new int[]{-1,-1}; int left = 0; int right = nums.length - 1; int[] res = {-1,-1}; int mid; while(left < right && left <= nums.length-1 && 0 <= right) { mid = left + (right - left)/2; if(nums[mid] > target) { right = mid - 1; }else if (nums[mid] < target) { left = mid + 1; }else { right = mid; } } if(left <= nums.length-1 && nums[left] == target){ res[0] = left; } left = 0; right = nums.length - 1; while(left < right && left <= nums.length-1 && 0 <= right) { mid = left + (right - left)/2 + 1; if(nums[mid] > target) { right = mid - 1; }else if (nums[mid] < target) { left = mid + 1; }else { left = mid; } } if(left <= nums.length-1 && nums[left] == target){ res[1] = left; } return res; } }
|