1. 程式人生 > >【Lintcode】074.First Bad Version

【Lintcode】074.First Bad Version

ota class base found sed follow ntc art spa

題目:

The code base version is an integer start from 1 to n. One day, someone committed a bad version in the code case, so it caused this version and the following versions are all failed in the unit tests. Find the first bad version.

You can call isBadVersion to help you determine which version is the first bad one. The details interface can be found in the code‘s annotation part.

you can use SVNRepo::isBadVersion(k) to judge whether the kth code version is bad or not.

題解:

  註意:SVNRepo::isBadVersion(k)不能寫成SVNRepo.isBadVersion(k), Lintcode要求這麽寫,後者編譯錯誤。

class Solution {
public:
    /**
     * @param n: An integers.
     * @return: An integer which is the first bad version.
     
*/ int findFirstBadVersion(int n) { int start = 1, end = n; while (start + 1 < end) { int mid = start + (end - start) / 2; if (SVNRepo::isBadVersion(mid)) { end = mid; } else { start = mid; } }
if (SVNRepo::isBadVersion(start)) { return start; } return end; } };

【Lintcode】074.First Bad Version