LeetCode 노트: 278. 첫 번 째 나 쁜 버 전

1944 단어 LeetCodeJava
질문: (구 글 번역) You are a product manager and currently leading a team to develop a new product. 불 행 히 도 최신 버 전의 제품 이 품질 검사 에 실패 합 니 다. 각 버 전이 이전 버 전 을 기반 으로 개발 되 었 기 때문에 불량 버 전의 모든 버 전도 나 쁩 니 다.현재 지도 팀 은 신제품 을 개발 하고 있다.불 행 히 도 당신 의 제품 의 최신 버 전 은 품질 검 사 를 통과 하지 못 했 습 니 다.각 버 전 은 이전 버 전 을 바탕 으로 개 발 된 것 이기 때문에 모든 버 전 은 나 쁜 버 전 후에 도 나 쁜 것 이다.
suppose you have n versions [1, 2,..., n] and you want to find out the first bad one, which cause all the following ones to be bad. n 버 전 [1, 2,..., n] 이 있다 고 가정 하면 첫 번 째 나 쁜 것 을 찾 으 려 면 다음 과 같은 나 쁜 것 을 모두 찾 으 려 고 합 니 다.
You are given an API bool isBadVersion (version) which will return whether version is bad. Implement a function to find the first bad version. You should minimize the number of calls to the API. API bool isBadVersion (version) 을 받 으 면 version 이 나 쁜 지 여 부 를 되 돌려 줍 니 다.첫 번 째 나 쁜 버 전 을 찾기 위해 함 수 를 실현 합 니 다.API 호출 횟수 를 최대한 줄 여야 합 니 다.
Top Solutions: 이 해법 * *.
public int firstBadVersion(int n) {
    int start = 1, end = n;
    while (start < end) { /* or start <= end */
        int mid = start + (end-start) / 2; //        
        if (!isBadVersion(mid)) start = mid + 1;
        else end = mid; /* or end = mid - 1 */
    }        
    return start;
}

“O(lgN) simple Java solution” https://discuss.leetcode.com/topic/26272/o-lgn-simple-java-solution
My Solution:
***

좋은 웹페이지 즐겨찾기