题目
要点
- Binary Search
代码
class Solution(object):
def firstBadVersion(self, n):
"""
:type n: int
:rtype: int
"""
l = 1
while (l <= n):
target = (l + n) // 2
if(isBadVersion(target) == True):
if(isBadVersion(target-1) == False):
return target
else:
n = target - 1
else:
l = target + 1
return -1
分析
二分查找(binary search)是算法中必须掌握的基础算法之一。此题与二分法无异