image.png

image.png

二分查找

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