We had written code as -
package main
import "fmt"
func binarySearch(search int, list []int) int {
low := 0
high := len(list) - 1
for low <= high {
middle := (low + high) / 2
if list[middle] < search {
low = middle + 1
} else {
high = middle - 1
}
}
if low == len(list) || list[low] != search {
return 0
}
return low
}
func main() {
var n int
_, err := fmt.Scanln(&n)
if err != nil || n < 0 {
return
}
s := make([]int, n)
for i := range s {
fmt.Scanln(&s[i])
}
var n1 int
fmt.Scanln(&n1)
fmt.Println(binarySearch(n1, s))
}
Not working as expected.