您的位置:首页 > 其它

LeetCode-First Bad Version

2015-09-17 07:50 183 查看
二分查找 但是要看清楚left right每次fuzhi的时候是否要加一 

left要加一 因为是找bad 那mid不是bad的时候 它就没用了 但是假如它是bad 也要考虑 所以right 不需要减一

!!!整数超界问题 用(left + right )/2 可能加法超界  left/2 + right/2 不会超。

public class Solution extends VersionControl {
public int firstBadVersion(int n) {
int left = 1;
int right = n;
while ( right > left ) {
int mid = left/2 + right /2 ;
if ( isBadVersion(mid) ){
right = mid;
}
else
left = mid + 1;
}
return right;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: