Find Peak Element – Python 3 (Week 10 – 05)

class Solution:
    def findPeakElement(self, nums: List[int]) -> int:
        start, end = 0, len(nums) - 1
        
        while start + 1 < end:
            mid = int(start + (end - start) / 2)

            if nums[mid - 1] < nums[mid]  and nums[mid] > nums[mid + 1]: 
                return mid
            elif nums[mid - 1] < nums[mid] < nums[mid + 1]:
                start = mid
            else:
                end = mid
                
        if nums[start] > nums[end]:
            return start
        else:
            return end
                
        
            
         

Leave a comment

Design a site like this with WordPress.com
Get started