
class Solution(object):
def findPeakElement(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
# 1.排序,找到最大值一定是峰值
max_ = max(nums)
return nums.index(max_)
# 2.二分法
l = 0
r = len(nums)
while l < r:
mid = l + ((r-l)>>1)
if nums[mid] < nums[mid+1]:
l = mid + 1
else:
r = mid
return l
该代码实现了一个名为Solution的类,其中的findPeakElement方法用于在一个整数列表中找到峰值元素。首先尝试通过排序直接找到最大值,然后使用二分法在未排序的列表中找到峰值。二分法中,如果中间元素小于其右侧元素,则在右半部分继续搜索,否则在左半部分搜索,直至找到峰值。
1万+

被折叠的 条评论
为什么被折叠?



