#P3855. 寻找峰值
寻找峰值
寻找峰值
题目描述
峰值元素是指其值严格大于左右相邻元素的元素。
给定一个整数数组 nums,请找到一个峰值元素并返回其下标。数组中可能包含多个峰值,返回任意一个峰值所在位置即可。
你可以假设:
nums[-1] = -∞nums[n] = -∞
其中 n 是数组长度。
你需要设计并实现时间复杂度为 O(log n) 的算法。
输入格式
第一行输入一个整数 n。
第二行输入 n 个整数,表示数组 nums。
输出格式
输出一个整数,表示任意一个峰值元素的下标。
数据范围
1 <= n <= 1000
-2^31 <= nums[i] <= 2^31 - 1
保证对所有有效的 i,都有 nums[i] != nums[i + 1]。
样例 1
输入
4
1 2 3 1
输出
2
样例 2
输入
7
1 2 1 3 5 6 4
输出
5
说明
输出 1 也是正确答案,因为下标 1 和下标 5 都是峰值位置。