题解 | #寻找峰值#

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
    

全部评论

相关推荐

点赞 评论 收藏
分享
用户64975461947315:这不很正常吗,2个月开实习证明,这个薪资也还算合理,深圳Java好多150不包吃不包住呢,而且也提前和你说了没有转正机会,现在贼多牛马公司骗你说毕业转正,你辛辛苦苦干了半年拿到毕业证,后面和你说没hc了😂
点赞 评论 收藏
分享
爱吃肉的伊登在写日记:好棒,27届简历能做成这个样子,但是第一个项目感觉cover住难度还是不小的,特别是二面的时候肯定要对分布式系统设计这一块儿有高出正常面试者的水平才行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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