Leetcode算法Java全解答--34. 在排序数组中查找元素的第一个和最后一个位置
Leetcode算法Java全解答–34. 在排序数组中查找元素的第一个和最后一个位置 文章目录 Leetcode算法Java全解答--34. 在排序数组中查找元素的第一个和最后一个位置 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 题目 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例: 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: [3,4] 示例 2: 输入: nums = [5,7,7,8,8,10], target = 6 输出: [-1,-1] 想法 无限中分,找到目标值的位置(targetIndex) 根据targetIndex往左右2遍扩散 左边就是最小值,右边就是最大值 结果 超过75%的测试案例 时间复杂度/空间复杂度: log n/ 1 总结 代码 我的答案 public int[] searchRange(int[] nums, int target) { if(nums.length==0){ return new int[]{-1,-1}; } int left = 0; int right = nums