diff --git a/algs4/src/meatballhat.com/algs4/binarysearch.go b/algs4/src/meatballhat.com/algs4/binarysearch.go new file mode 100644 index 0000000..7d51f0f --- /dev/null +++ b/algs4/src/meatballhat.com/algs4/binarysearch.go @@ -0,0 +1,21 @@ +package algs4 + +func BinarySearchRank(key int, a []int) int { + lo := 0 + hi := len(a) - 1 + + var mid int + + for lo <= hi { + mid = lo + (hi - lo) / 2 + if key < a[mid] { + hi = mid - 1 + } else if key > a[mid] { + lo = mid + 1 + } else { + return mid + } + } + + return -1 +}