func findPeakElement(nums []int) int {
n := len(nums)
left := 0
right := n - 1
var mid int
var get func(i int)int
get = func(i int) int {
if i == -1 || i == n {
return math.MinInt64
}
return nums[i]
}
for {
mid = (left + right) / 2
if get(mid) > get(mid-1) && get(mid) > get(mid+1) {
return mid
}
if get(mid) < get(mid+1) {
left = mid + 1
} else {
right = mid - 1
}
}
}