二分探索アルゴリズム(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件の賞賛 750,000回

おすすめ

転載: blog.csdn.net/universsky2015/article/details/105265893