题解 | #二分查找-I#
二分查找-I
https://www.nowcoder.com/practice/d3df40bd23594118b57554129cadf47b
解题思路
时间复杂度为O(logn),空间复杂度为O(1)。
class Solution: def search(self , nums: List[int], target: int) -> int: # 注意判断数组为空的情况 if len(nums) == 0: return -1 left = 0 right = len(nums) while left <= right: # 注意临界条件,小于等于 mid = (left+right)//2 # print(mid, nums[mid]) if nums[mid] == target: return mid elif nums[mid] > target: right = mid - 1 else: left = mid + 1 return -1