leetcode-162-寻找峰值

题目描述:

二分法:

class Solution:
    def findPeakElement(self, nums: List[int]) -> int:
        l, h = 0, len(nums) - 1
        while l <= h:
            m = (l + h) // 2
            if (not m or nums[m-1] < nums[m]) and (m == len(nums) - 1 or nums[m] > nums[m+1]):
                return m
            elif not m or nums[m] > nums[m-1]:
                l = m + 1
            else:
                h = m - 1

 

posted @ 2019-07-18 11:38  oldby  阅读(126)  评论(0编辑  收藏  举报