/
githubmirror
/
interviews
Обзор
Документация
Войти
/
githubmirror
/
interviews
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
leetcode/binary-search/FirstBadVersion.java
27 строк
1 KB
Kevin Naughton Jr
finish renaming files and directories
27 мар 2018, 19:52
27 мар 2018, 19:52
ec6dfb5
Код
Авторство
О чём код?
// You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is developed based on the previous version, all the versions after a bad version are also bad. // Suppose you have n versions [1, 2, ..., n] and you want to find out the first bad one, which causes all the following ones to be bad. // 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. /* The isBadVersion API is defined in the parent class VersionControl. boolean isBadVersion(int version); */ public class FirstBadVersion extends VersionControl { public int firstBadVersion(int n) { int start = 1; int end = n; while(start < end) { int mid = start + (end - start) / 2; if(!isBadVersion(mid)) { start = mid + 1; } else { end = mid; } } return start; } }