示例 1:
輸入: nums = [5,7,7,8,8,10], target = 8
輸出: [3,4]
示例 2:
輸入: nums = [5,7,7,8,8,10], target = 6
輸出: [-1,-1]
思路:定義兩個變量start和end,分別指向數組首元素和末尾元素,當start<end時,我們從下標start開始查找與target值相等的,找到退出循環,用相同的方法從后給前找,找到退出循環,並且返回[start,end],沒有找到返回[-1,-1];
代碼如下:
public static int[] searchRange(int[] nums,int target) { int start = 0; int end = nums.length - 1; while(start <= end) { if(nums[start] == target) { break; } start++; } while(start <= end) { if(nums[end] == target) { return new int[] {start,end}; } end--; } return new int[] {-1,-1}; }