力扣-34.在排序数组中查找元素的第一个和最后一个位置
题目链接
34.在排序数组中查找元素的第一个和最后一个位置
class Solution {public int[] searchRange(int[] nums, int target) {int low = 0, high = nums.length - 1;boolean find = false;int mid = 0;while (low <= high) {mid = (low + high) / 2;if (nums[mid] > target) {high = mid - 1;} else if (nums[mid] < target) {low = mid + 1;} else {find = true;break;}}if (find == false) {return new int[]{-1, -1};}int right = mid, left = mid;while (left > 0 && nums[left - 1] == target) {left--;}while (right < nums.length - 1 && nums[right + 1] == target) {right++;}return new int[]{left, right};}
}
小结:依旧二分查找。