一、题目描述
给定一个长度为n的数组nums,请你找到峰值并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个所在位置即可。
1.峰值元素是指其值严格大于左右相邻值的元素。严格大于即不能有等于;
2.假设 nums[-1] = nums[n] = -\infty−∞;
3.对于所有有效的 i 都有 nums[i] != nums[i + 1];
4.你可以使用O(logN)的时间复杂度实现此问题吗;
二、输入描述
如输入[3,4,2,3,5,6,2]时,会形成两个山峰,一个是索引为1,峰值为4的山峰,另一个是索引为5,峰值为6的山峰。
如下图所示:

三、输出描述
1
四、测试用例
测试用例1
1、输入
1,2,3,4,5
2、输出
4
测试用例2
1、输入
3,4,2,3,5,6,2
这篇博客介绍了如何在给定数组中寻找峰值元素的索引,峰值元素定义为值大于左右相邻元素的元素。博客详细阐述了问题描述、输入输出要求,提供了解题思路和Java源代码,并展示了执行效果。适用于Java学习者和准备华为OD机试的程序员。
订阅专栏 解锁全文
826

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



