寻找峰值

你给出一个整数数组(size为n),其具有以下特点:
相邻位置的数字是不同的
A[0] < A[1] 并且 A[n - 2] > A[n - 1]

假定P是峰值的位置则满足A[P] > A[P-1]
且A[P] > A[P+1]
,返回数组中任意一个峰值的位置。

样例
给出数组[1, 2, 1, 3, 4, 5, 7, 6]
返回1, 即数值 2 所在位置, 或者6, 即数值 7 所在位置.

注意 数组可能包含多个峰值,只需找到其中的任何一个即可

此题只需要返回峰值中的一个就可以,所以只需要遍历数组中的元素,跟它前后的元素进行比较,如果比前后两个元素都大,那么便可以返回该元素的下标。
如:A[i]>A[i-1] and A[i]>A[i+1]

class Solution:
    #@param A: An integers list.
    #@return: return any of peek positions.
    def findPeak(self, A):
        # write your code here
        for i in range(1,len(A)):
            if A[i]>A[i+1] and A[i]>A[i-1]:
                return i
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文试图从一个简单的小题目出发,引入算法的若干基本概念,重点引入一种方法:分治法,并且给出表述算法效率的记号。本文...
    Bintou老师阅读 7,020评论 0 3
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 11,543评论 1 42
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,357评论 0 33
  • 美乐家环保超市是全球超级邮购超市,1985年创立于美国的爱达菏州,在环保概念还没有流行的时候,美乐家就已经是绿色企...
    持续收入倡导者阅读 1,427评论 0 0
  • 仿佛站在了一个自诩正义和爱的角度,我以为我站的很高,以为聪明极了。无知不可怕,无知且自大,并仍自诩为自信勇敢。我站...
    paraesthesia阅读 1,531评论 0 0

友情链接更多精彩内容