34. 在排序数组中查找元素的第一个和最后一个位置
二分查找
package mainimport "fmt"func searchRange(nums []int, target int) []int {l :=0r :=len(nums)-1res :=[]int{-1,-1}for l<=r{mid :=l+(r-l)>>1if nums[mid]==target{res[0]= midres[1] = midi := mid-1for i>=0 &&nums[i]==target{res[0]=ii--}j := mid+1for j<len(nums)&&nums[j]==target {res[1]=jj++}return res}else if target>nums[mid] {l = mid+1}else if target<nums[mid]{r = mid-1}}return res}func main() {fmt.Println(searchRange([]int{5,7,7,8,8,10},8))}

