6 - Medium - 寻找峰值

峰值元素是指其值大于左右相邻值的元素。

给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。

数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。

你可以假设 nums[-1] = nums[n] = -∞。

示例 1:

输入: nums = [1,2,3,1]
输出: 2
解释: 3 是峰值元素,你的函数应该返回其索引 2。
示例 2:

输入: nums = [1,2,1,3,5,6,4]
输出: 1 或 5
解释: 你的函数可以返回索引 1,其峰值元素为 2;
或者返回索引 5, 其峰值元素为 6。
说明:

你的解法应该是 O(logN) 时间复杂度的。

class Solution:
    def findPeakElement(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        if len(nums) == 1:
            return 0
        for i in range(len(nums)):
            if i == 0 and nums[i] > nums[i+1]:
                return i
            if i == len(nums)-1 and nums[i] > nums[i-1]:
                return i
            if nums[i] > nums[i-1] and nums[i] > nums[i+1]:
                return i
class Solution:
    def findPeakElement(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        peak_element = max(nums)
        return nums.index(peak_element)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 来源:NumPy Tutorial - TutorialsPoint 译者:飞龙 协议:CC BY-NC-SA 4...
    布客飞龙阅读 33,291评论 6 98
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,132评论 2 89
  • 天之蓝的,你不高兴 水是清的,你不高兴 阳光洒满有背影的墙,你不高兴 心爱的人儿牵着你的手,你不高兴 风儿吹绿柳叶...
    江流芳甸阅读 968评论 0 0
  • 小刘最近找了个女朋友,不仅温柔漂亮,而且心灵手巧。这不,前几天她亲手给小刘织了一件既合体又漂亮的开襟毛衣。 ...
    蜗牛的冬天阅读 1,222评论 0 1
  • 林女士在长沙开了一家25-35岁女性的时尚服装店,在开业的时候,她设计了一个赠品策略。 她在店口陈列了十分精美、时...
    薄荷味的微笑002阅读 5,151评论 0 1