704. 二分查找

图片.png

  1. package main
  2. import "fmt"
  3. func search(nums []int, target int) int {
  4. left := 0
  5. right := len(nums) - 1
  6. for left <= right {
  7. mid := left + (right-left)>>1
  8. if nums[mid] == target {
  9. return mid
  10. } else if nums[mid] > target {
  11. right = mid - 1
  12. } else {
  13. left = mid + 1
  14. }
  15. }
  16. return -1
  17. }
  18. func main() {
  19. fmt.Println(search([]int{-1, 0, 3, 5, 9, 12}, 9))
  20. }

图片.png