34_中等_在排序数组中查找元素的第一个和最后一个位置
34 在排序数组中查找元素的第一个和最后一个位置
https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/
题目要求:给你一个按照非递减顺序排列的整数数组 nums
,和一个目标值 target
。请你找出给定目标值在数组中的开始位置和结束位置。
算法:
1- 先寻找左边界,再查找右边界,需要注意左右指针需要小于等于,因为可能数组中只存在一个元素与目标值相等
// date 2022-09-15
func searchRange(nums []int, target int) []int {
res := []int{-1, -1}
left, right := 0, len(nums)-1
for left <= right {
if nums[left] == target {
res[0] = left
break
}
left++
}
for left <= right {
if nums[right] == target {
res[1] = right
break
}
right--
}
return res
}
最后更新于