FindPeakElement
Published at 2022-03-02
class Solution:
def findPeakElement(self, nums: List[int]) -> int:
s = 0
e = len(nums) - 1
while s < e:
mid = (s+e)//2
if nums[mid-1] < nums[mid] and nums[mid] > nums[mid+1]:
return mid
else:
if nums[mid] < nums[mid+1]:
s = mid+1
else:
e = mid
# 바로 s를 리턴하지 않는 이유: len이 2 이하일 경우 때문
return s if nums[s] >= nums[e] else e