示例 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};
}

 

相关文章:

  • 2022-12-23
  • 2022-01-19
  • 2021-05-29
  • 2021-10-07
  • 2021-07-27
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-20
  • 2022-12-23
  • 2021-11-07
  • 2021-04-08
  • 2021-07-16
  • 2022-01-14
相关资源
相似解决方案