题解 | #寻找峰值#

https://www.nowcoder.com/practice/fcf87540c4f347bcb4cf720b5b350c76

思路:
  1. l = len(nums), 如果数组长度=1,则直接返回0
  2. 如果大于1,则先进行边界值判断,如果nums[0]>nums[1],返回0,如果nums[-2]<nums[-1],返回l-1
  3. 对数组进行遍历,如果中间值高于两端,则返回中间值的index
    class Solution:
        def findPeakElement(self , nums: List[int]) -> int:
            # write code here
            l = len(nums)
            if l == 1:
                return 0
            if nums[0] > nums[1]:
                return 0
            if nums[-1]>nums[-2]:
                return l-1
            for i in range(l-2):
                if  nums[i] < nums[i+1] and nums[i+1] > nums[i+2]:
                    return i+1
    

全部评论

相关推荐

07-07 17:06
已编辑
深圳技术大学 golang
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-24 13:32
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务