leetcode[First Bad Version]待整理多种解法

xiaoxiao2021-02-27  205

/* The isBadVersion API is defined in the parent class VersionControl. boolean isBadVersion(int version); */ public class Solution extends VersionControl { //根据题意,可以当成一个有序数组,所以用二分检索来实现 public int firstBadVersion(int n) { int low = 1, high = n; int mid = low + (high - low) / 2;//mid = (low + high) / 2;这种算法会导致int溢出,导致死循环 while(low < high){ mid = low + (high - low) / 2; if(isBadVersion(mid)){ high = mid; } else{ low = mid + 1; } //System.out.println("low:" + low + " " + "mid:" + mid + " " + "high:" + high); } if(isBadVersion(low)){ return low; } else if(isBadVersion(low + 1)){ return low + 1; } else{ return 0; } } }
转载请注明原文地址: https://www.6miu.com/read-10461.html

最新回复(0)