https://mp.weixin.qq.com/s/cuARrL4JpKvYCX1mDldl6A
package main
import (
"fmt"
"sort"
)
func main() {
arr := []int{1, 3, 5, 7}
index := sort.Search(len(arr), func(i int) bool {
return arr[i] > 3 // 找到第一个大于3的数,如果数组是升序排列的,后面的数就都大于3,然后进行插入,可以维持升序排列
})
fmt.Println(index)
arr1 := []int{7, 5, 3, 1}
index1 := sort.Search(len(arr1), func(i int) bool {
return arr1[i] <= 3 // 找到第一个小于3的数,如果数组是降序排列的,后面的数就都小于3,然后进行插入,可以维持降序排列
})
fmt.Println(index1)
}