15 lines
330 B
Go
15 lines
330 B
Go
func binarySearch(a []float64, value float64) int {
|
|
low := 0
|
|
high := len(a) - 1
|
|
for low <= high {
|
|
mid := (low + high) / 2
|
|
if a[mid] > value {
|
|
high = mid - 1
|
|
} else if a[mid] < value {
|
|
low = mid + 1
|
|
} else {
|
|
return mid
|
|
}
|
|
}
|
|
return -1
|
|
}
|