#算法实现有问题效率太低 可能要遍历整个列表 def peakIndexInMountainArray(A): """ :type A: List[int] :rtype: int """ # return A.index(max(A)) for i in range(len(A)-1): if A[i+1] < A[i]: a_max = A[i] return A.index(a_max) print(peakIndexInMountainArray([9, 1, 15, 3])) # 预期输出 1def peakIndexInMountainArray(A): #二分查找的实现 def peakIndexInMountainArray(mountain): height = len(mountain) low = 0 while low <= height: mid = (height + low) // 2 if array[mid] > array[mid - 1] and array[mid] > array[mid + 1]: print(mid) break elif array[mid] > array[mid + 1]: height = mid - 1 else: low = mid + 1 array = [0, 1, 0] peakIndexInMountainArray(array) array = [0, 2, 1, 0] peakIndexInMountainArray(array) array = [0, 1, 2, 3, 7, 6, 5, 4, 2, 1, 0] peakIndexInMountainArray(array) array = [0, 1, 2, 7, 6, 5, 4, 0] peakIndexInMountainArray(array)