278. First Bad Version - Easy

前往題目

之前寫過,照搬一下

想法

  • 沒想到是binary search,這部分覺得有點失望
  • 但我連100題都還沒寫到,就不苛責自己了

思路

  1. 沒什麼好說的,就是binary search,因為只要找到第一個true,後面就都不用看了

Code

public int firstBadVersion(int n) {
    int l = 0, r = n;
    
    // Binary search
    while(l <= r){
        int mid = l + (r - l) / 2;
        Boolean isCurrBad = isBadVersion(mid);
        Boolean isPreBad = isBadVersion(mid - 1);

        // Mid point is the ans
        if(isCurrBad == true && isPreBad == false){
            return mid;
        } else if (isCurrBad == false){
            l = mid + 1;
        } else {
            r = mid - 1;
        }
    }

    return -1;

}

2023/12/17

  • 只知道是binary search,判斷的部分沒想出來…唉

278. First Bad Version - Easy
https://f88083.github.io/2023/12/17/278-First-Bad-Version-Easy/
作者
Simon Lai
發布於
2023年12月17日
許可協議