leetcode 278. 第一个错误的版本(Java版)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 278. 第一个错误的版本(Java版)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目
https://leetcode-cn.com/problems/first-bad-version/
題解
二分查找即可,注意可能會溢出,過程要用 long 類型
/* The isBadVersion API is defined in the parent class VersionControl.boolean isBadVersion(int version); */public class Solution extends VersionControl {public int firstBadVersion(int n) {return (int) find(1, n);}public long find(long left, long right) {if (left == right) return left;long mid = left + (right - left) / 2;if (isBadVersion((int) mid)) {return find(left, mid);} else {//因?yàn)槟康氖钦业絝alse,所以讓true的mid+1,而非讓false的mid-1return find(mid + 1, right);}} } 超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的leetcode 278. 第一个错误的版本(Java版)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本地 MarkDown 怎么部署到服务器
- 下一篇: leetcode 283. 移动零(Ja