二分查找算法 ( kotlin )

一个已排序的数组,二分查找目标元素:


fun main(args: Array<String>) {
    print(search(arrayOf(1, 3, 5, 6, 12, 54), 7))
}

fun search(nums: Array<Int>, target: Int): Int {
    var left = 0
    var right = nums.size
    var mid = (left + right).shr(1)

    while (left <= right) {
        if (target <= nums[mid]) {
            right = mid - 1
        } else {
            left = mid + 1
        }
        mid = (left + right).shr(1)
    }

    return left

}

Kotlin 开发者社区

1233356-4cc10b922a41aa80

国内第一Kotlin 开发者社区公众号,主要分享、交流 Kotlin 编程语言、Spring Boot、Android、React.js/Node.js、函数式编程、编程思想等相关主题。

越是喧嚣的世界,越需要宁静的思考。

发布了1665 篇原创文章 · 获赞 1067 · 访问量 75万+

猜你喜欢

转载自blog.csdn.net/universsky2015/article/details/105265893