162. Find Peak Element
https://leetcode.com/problems/find-peak-element/description/
solution
暴力解: 一次遍历
def findPeak(arr) :
n = len(arr)
# first or last element is peak element
if (n == 1) :
return 0
if (arr[0] >= arr[1]) :
return 0
if (arr[n - 1] >= arr[n - 2]) :
return n - 1
# check for every other element
for i in range(1, n - 1) :
# check if the neighbors are smaller
if (arr[i] >= arr[i - 1] and arr[i] >= arr[i + 1]) :
return i二分搜索
找到中间mid元素后,和后面的元素(mid + 1)比较大小,如果大于,则说明峰值在前面,如果小于则在后面
follow up
Last updated