本文共 797 字,大约阅读时间需要 2 分钟。
为了找到数组中的峰值元素并返回其索引,我们可以采用线性扫描的方法,找到数组中的最大值位置。由于峰值元素必定是数组中的最大值,因此这个位置也就是我们需要的答案。
public class Solution { public int findPeakElement(int[] nums) { int max_val = nums[0]; int max_index = 0; for (int i = 1; i < nums.length; i++) { if (nums[i] > max_val) { max_val = nums[i]; max_index = i; } } return max_index; }} max_val 初始化为数组第一个元素,max_index 初始化为 0。max_val。max_val,则更新 max_val 和 max_index。max_index,即最大值所在的位置。这种方法的时间复杂度为 O(n),虽然不满足题目要求的 O(logN) 时间复杂度,但它确实正确解决了问题。
转载地址:http://lmefk.baihongyu.com/