LeetCode刷题之852.山脉数组的峰顶索引
我不知道将去向何方,但我已在路上! |
---|
时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! |
-
题目:
我们把符合下列属性的数组 A 称作山脉:- length >= 3
- 存在 0 < i < A.length - 1 使得A[0] < A[1] < … A[i-1] < A[i] > A[i+1] > … > A[A.length - 1]
给定一个确定为山脉的数组,返回任何满足 A[0] < A[1] < … A[i-1] < A[i] > A[i+1] > … > A[A.length - 1] 的 i 的值。
-
示例:
示例1:
输入:[0,1,0]
输出:1
示例2:
输入:[0,2,1,0]
输出:1
- 提示:
- 3 <= A.length <= 10000
- 0 <= A[i] <= 10^6
- A 是如上定义的山脉
- 代码:
class Solution:
def peakIndexInMountainArray(self, A: List[int]) -> int:
for i in range(1,len(A)-1):
if A[i-1] < A[i] and A[i] > A[i+1]:
return(i)
# 执行用时 :116 ms, 在所有 Python3 提交中击败了32.85%的用户
# 内存消耗 :15.1 MB, 在所有 Python3 提交中击败了5.42%的用户
- 算法说明:
由题意可知,山脉只有一个,判断当前元素是否符合:左右两边的元素均小于当前元素,如果满足,返回当前索引即可。