首页 > 其他 > 详细

LC.278. First Bad Version

时间:2018-03-17 10:13:29      阅读:225      评论:0      收藏:0      [点我收藏+]
https://leetcode.com/problems/first-bad-version/description/

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.
time: log(n)
space: o(1)
 
 1 public int firstBadVersion(int n) {
 2         int left = 1, right = n;
 3         while (left + 1 < right) {
 4             int mid = left + (right - left) / 2;
 5             if (isBadVersion(mid)) {
 6                 right = mid;
 7             } else if (!isBadVersion(mid)) {
 8                 left = mid;
 9             } else {
10                 right = mid;
11             }
12         }
13         //post processing: same as first occurance  
14         if (isBadVersion(left)) {
15             return left;
16         }
17         if (isBadVersion(right)) {
18             return right;
19         }
20         return -1;
21     }

 

LC.278. First Bad Version

原文:https://www.cnblogs.com/davidnyc/p/8587022.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!