**发散创新:Prompt Engineering在Python中的实战应用与优化技巧**在当前大模型迅猛发展的背景下,
2026/4/15 11:39:11
[-1,-1]>= target就往左缩,最终l停在第一个目标位置<= target就往右扩,最终r停在最后一个目标位置完整代码实现
class Solution { public int[] searchRange(int[] nums, int target) { int left = findLeft(nums, target); int right = findRight(nums, target); return new int[] { left, right }; } public int findLeft(int[] nums, int target) { int l = 0, r = nums.length - 1; while (l <= r) { int mid = l + (r - l) / 2; if (nums[mid] >= target) { r = mid - 1; } else { l = mid + 1; } } // 找到的位置必须合法且等于 target if (l < nums.length && nums[l] == target) return l; return -1; } public int findRight(int[] nums, int target) { int l = 0, r = nums.length - 1; while (l <= r) { int mid = l + (r - l) / 2; if (nums[mid] <= target) { l = mid + 1; } else { r = mid - 1; } } if (r >= 0 && nums[r] == target) return r; return -1; } }