Recca Chao 的 gitHub page

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

View on GitHub

Kotlin Leetcode - 278. First Bad Version

題目連接

class Solution: VersionControl() {
    override fun firstBadVersion(n: Int) : Int {

	}
}

解題思路

這一題考的是二分法的思路

雖然題目說的很複雜

但是只要我們使用二分法

就可以快速找到壞掉的最初版本

Kotlin 參考解答

class Solution: VersionControl() {
    override fun firstBadVersion(n: Int) : Int {
        var high = n
        var low = 0
        
        while (low < high) {
            val mid = low + ((high - low) / 2)
            if (isBadVersion(mid)) {
                high = mid
            } else {
                low = mid + 1
            }
        }
        return high
    }
}