码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode162 Find Peak Element

时间:2020-03-14 21:47:44      阅读:51      评论:0      收藏:0      [点我收藏+]

标签:element   __name__   +=   you   either   case   input   pre   turn   

 1 """
 2 A peak element is an element that is greater than its neighbors.
 3 Given an input array nums, where nums[i] ≠ nums[i+1], find a peak element and return its index.
 4 The array may contain multiple peaks, in that case return the index to any one of the peaks is fine.
 5 You may imagine that nums[-1] = nums[n] = -∞.
 6 Example 1:
 7 Input: nums = [1,2,3,1]
 8 Output: 2
 9 Explanation: 3 is a peak element and your function should return the index number 2.
10 Example 2:
11 Input: nums = [1,2,1,3,5,6,4]
12 Output: 1 or 5
13 Explanation: Your function can return either index number 1 where the peak element is 2,
14              or index number 5 where the peak element is 6.
15 """
16 class Solution:
17     def findPeakElement(self, nums):
18         if len(nums) <= 1:
19             return 0
20         nums.append(-float(inf))#针对[1, 2] [1, 2, 3] 这种递增序列的情况
21         i = 1
22         while i < len(nums):
23             if nums[i-1] < nums[i] and nums[i] > nums[i+1]:
24                 return i
25             i += 1
26         return 0
27 if __name__ == __main__:
28     ans = Solution()
29     nums = [1, 2, 3, 1]
30     print(ans.findPeakElement(nums))

 

leetcode162 Find Peak Element

标签:element   __name__   +=   you   either   case   input   pre   turn   

原文地址:https://www.cnblogs.com/yawenw/p/12494360.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!