From f47666f099b2f9697bb50fa3bba3757a3e2b8c11 Mon Sep 17 00:00:00 2001 From: Alterevit Date: Thu, 22 Mar 2018 23:02:53 +0300 Subject: [PATCH] add binary search on kotlin --- .../kotlin/BinarySearch.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 01_introduction_to_algorithms/kotlin/BinarySearch.kt diff --git a/01_introduction_to_algorithms/kotlin/BinarySearch.kt b/01_introduction_to_algorithms/kotlin/BinarySearch.kt new file mode 100644 index 0000000..61ca238 --- /dev/null +++ b/01_introduction_to_algorithms/kotlin/BinarySearch.kt @@ -0,0 +1,21 @@ +fun List.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) { + print(sortedArray.binarySearch(6)) +} +