原题地址(简单)
方法1—二分
思路
这题可以线性,但会超时,所以要用二分,
本题和744. 寻找比目标字母大的最小字母几乎是一模一样的题,
直接套第二个模板就好了。
代码
class Solution:def firstBadVersion(self, n):""":type n: int:rtype: int"""low, high = 1, nwhile low < high:mid = low + (high - low) // 2if isBadVersion(mid):high = midelse:low = mid + 1return low
时空复杂度
时间复杂度 O(logN) ,空间复杂度 O(1)
