Leetcode 162 Solution
This article provides solution to leetcode question 162 (find-peak-element)
Access this page by simply typing in "lcs 162" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
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