Leetcode 162 Solution

This article provides solution to leetcode question 162 (find-peak-element)

https://leetcode.com/problems/find-peak-element

Solution

class Solution(object): def findPeakElement(self, nums): """ :type nums: List[int] :rtype: int """ l = 0 r = len(nums) - 1 while l <= r: m = (l + r) // 2
left_greater = nums[m] > nums[m - 1] if m > 0 else True right_greater = nums[m] > nums[m + 1] if m < len(nums) - 1 else True
if left_greater and right_greater: return m
if not left_greater: r = m - 1 continue
if not right_greater: l = m + 1 continue
return 0