题解 | #寻找峰值# -- 【Python3】

寻找峰值

http://www.nowcoder.com/practice/1af528f68adc4c20bf5d1456eddb080a

思路

  1. 处理边界值
  2. 倒序遍历,遇到第一个满足就返回其索引
class Solution:
    def solve(self , a ):
        n = len(a)
        maxIn = 0
        # 处理边界值
        if n == 1:
            return 0
        if n == 2:
            if a[1] >= a[0]:
                return 1
            elif a[0] > a[1]:
                return 0
        if a[n-1] > a[n-2]:
            return n -1
        # 倒着遍历,遇到一个满足条件的就返回
        while n:
            n = n - 1
            if a[n-1] >= a[n-2] and  a[n-1] >= a[n]:
                    return n - 1
全部评论

相关推荐

不愿透露姓名的神秘牛友
03-18 14:29
牛客604067584号:感觉算法卷的人少很多,毕竟只有一部分bg还不错的硕士才会考虑算法,虽然hc不如后端,但是竞争真的少很多。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务