题目

WeChat911ebb8245209624507d2e593ac9e44b.png

要点

  • Binary Search

代码

  1. class Solution(object):
  2. def firstBadVersion(self, n):
  3. """
  4. :type n: int
  5. :rtype: int
  6. """
  7. l = 1
  8. while (l <= n):
  9. target = (l + n) // 2
  10. if(isBadVersion(target) == True):
  11. if(isBadVersion(target-1) == False):
  12. return target
  13. else:
  14. n = target - 1
  15. else:
  16. l = target + 1
  17. return -1

分析

二分查找(binary search)是算法中必须掌握的基础算法之一。此题与二分法无异