Recca Chao 的 gitHub page

推廣網站開發,包含 Laravel 和 Kotlin 後端撰寫、自動化測試、讀書心得等。Taiwan Kotlin User Group 管理員。

View on GitHub

題目連接

class Solution {
    fun search(nums: IntArray, target: Int): Int {
    }
}

解題思路

這一題考的是 Binary Search 演算法的實作

基本上照著演算法刻就可以得到答案

Kotlin 參考解答

點擊展開解答
class Solution {
    fun search(nums: IntArray, target: Int): Int {
        var left = 0
        var right = nums.size - 1
        while (left <= right) {
            val pivot = left + (right - left) / 2
            when {
                nums[pivot] == target -> return pivot
                nums[pivot] > target -> right = pivot - 1
                nums[pivot] < target -> left = pivot + 1
            }
        }
        return -1
    }
}