Files
grokking_algorithms/01_introduction_to_algorithms/kotlin/BinarySearch.kt
2018-04-20 08:20:32 -07:00

22 lines
423 B
Kotlin

fun List<Int>.binarySearch(item: Int) : Int? {
var min = 0
var max = lastIndex
while (min <= max) {
val mid = (min + max)/2
val guess = this[mid]
if (guess == item) return mid
if (guess > item) max = mid -1
else min = mid + 1
}
return null
}
val sortedArray = (0..100 step 3).toList()
fun main(args: Array<String>) {
print(sortedArray.binarySearch(6))
}