这道题就是单纯考最基本的二分查找,go语言有自带的包可以使用,甚至可以自定义查找方法。二分查找可以看一下我写的这篇博客文章,里面介绍的比较详细。
func search(nums []int, target int) int {
l, r := 0, len(nums)
for l < r {
mid := (l+r) >> 1
if nums[mid] < target {
l = mid + 1
}else if nums[mid] > target{
r = mid - 1
}else {
return mid
}
}
if l == len(nums) || nums[l] != target {
return -1
}
return l
}