由于nums里没有重复元素,所以一定存在峰值。
可以假设:L表示[:L)内的元素均在峰值左侧,即nums[L-1]一定小于nums[L],
R表示(R:]内的元素均在峰值右侧,即nums[R+1]>nums[R+2]
因为nums[n]=-inf,所以 nums[n-1] > nums[n],即R0=nums[n-2]
def solution(nums):
length = len(nums)
L = 0 #
R = length-2
while L <= R:
mid = (L+R) // 2
if nums[mid] < nums[mid+1]:
L = mid + 1
else:
R = mid - 1
return R + 1