package Search
import (
"fmt"
"sort"
"testing"
)
func BinarySearch(sortedArray []int, num int) (isFind bool,index int) {
if len(sortedArray) == 0 {
return false,-1
}
L ,R ,mid:= 0,len(sortedArray)-1,0
for L < R {
mid = L + ((R - L) / 2)
if sortedArray[mid] == num {
return true,mid
} else if sortedArray[mid] > num {
R = mid - 1
} else {
L = mid + 1
}
}
return sortedArray[L] == num,L
}
func TestBinarySearch(t *testing.T) {
arr := []int{12, 32, 433, 555, 666, 777, 888, 999, 100000}
sort.Ints(arr)
fmt.Println(BinarySearch(arr, 666))
}
04-10
1878
11-06
318
01-28
2526