704. 二分查找 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/binary-search/简单题
class Solution:
def search(self, nums: List[int], target: int) -> int:
low = 0
high = len(nums) - 1
while low <= high:
mid = (low + high) // 2
if nums[mid] == target:
return mid
elif nums[mid] >= target:
high = mid - 1
else:
low = mid + 1
return -1
278. 第一个错误的版本 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/first-bad-version/
# The isBadVersion API is already defined for you.
# @param version, an integer
# @return an integer
# def isBadVersion(version):
class Solution:
def firstBadVersion(self, n):
"""
:type n: int
:rtype: int
"""
left = 1
while left <= n:
mid = (left + n) // 2
if isBadVersion(mid):
n = mid - 1
else:
left = mid + 1
return left
35. 搜索插入位置 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/search-insert-position/
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
left = 0
right = len(nums)
if target > nums[-1]:
return len(nums)
while left <= right:
mid = (left + right) // 2
if nums[mid] == target:
return mid
elif nums[mid] >= target:
right = mid - 1
else:
left = mid + 1
return left
最近在搞airtest 更新可能有点慢
坚持 共勉