本文主要是介绍LeetCode-第162题-寻找峰值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.题目描述
峰值元素是指其值严格大于左右相邻值的元素。
给你一个整数数组 nums
,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。
你可以假设 nums[-1] = nums[n] = -∞
。
你必须实现时间复杂度为 O(log n)
的算法来解决此问题。
2.样例描述
3.思路描述
将第一个元素的索引存储到遍历count,从数组第二个元素开始遍历,若count元素小于当前遍历元素,则count存储该元素,以此类推,直到找出峰值元素。
4.代码展示
class Solution {public int findPeakElement(int[] nums) {int count = 0;//用于暂时存储当前位置的索引for(int i=1;i<nums.length;i++){//循环遍历整个数组,从数组第二个元素开始if(nums[count] < nums[i]){//如果当前位置小于下一个元素count = i;//当前元素指向下一个元素}}return count;}
}
这篇关于LeetCode-第162题-寻找峰值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!