题解 | #寻找峰值# -- 【Python3】
寻找峰值
http://www.nowcoder.com/practice/1af528f68adc4c20bf5d1456eddb080a
思路
- 处理边界值
- 倒序遍历,遇到第一个满足就返回其索引
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
查看7道真题和解析