Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. class Solution {
  2. public int[] searchRange(int[] nums, int target) {
  3. if(nums == null){
  4. return new int[]{-1,-1};
  5. }
  6. int start = 0;
  7. int end = nums.length - 1;
  8. while(start <= end){
  9. int mid = (start + end)/2;
  10. if(nums[mid] < target){
  11. start = mid + 1;
  12. }else if(nums[mid] > target){
  13. end = mid - 1;
  14. }else{
  15. int[] res = new int[2];
  16. //get the smallest
  17. int i = mid;
  18. while(i >= 0 && nums[i] == target){
  19. i--;
  20. }
  21. res[0] = i + 1;
  22. i = mid;
  23. while(i < nums.length && nums[i] == target){
  24. i++;
  25. }
  26. res[1] = i - 1;
  27. return res;
  28. }
  29. }
  30.  
  31. return new int[]{-1,-1};
  32. }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement