最简单的二分查找

2021-01-30  本文已影响0人  rushui

题目:
1 在有序的切片或这数组中进行查找。这里的有序不区分升序,降序
2 这里我们仅仅对元素所在的下标进行搜索查找。
3 有一个目标值。我们约定如果不在数组里面就返回一个-1

func BinarySearch(k int,a []int)int{
   low := 0
   high := len(a)-1
   for low <= high {
       mid := (low + high) / 2
       if k > a[mid] {
           low = mid + 1
       }else if k < a[mid] {
           high = mid - 1
       }else {
           return mid
       }
   }
   return -1
}
上一篇下一篇

猜你喜欢

热点阅读