题目34:在排序数组中查找元素的第一个和最后一个位置
题目描述:
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。
如果数组中不存在目标值 target,返回 [-1, -1]。
你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题
题解:
func searchRange(nums []int, target int) []int {
l, r := 0, len(nums)-1
for l<=r{
if nums[l]==nums[r]&&nums[l]==target{
break
}
if nums[l]!=target{
l++
}
if nums[r]!=target{
r--
}
}
if l>r{
return []int{-1,-1}
}
return []int{l,r}
}