面试必刷TOP101:19、寻找峰值
  9ShvDtAiXXil 2023年11月05日 58 0

题目

面试必刷TOP101:19、寻找峰值_java

题解

如输入[2,4,1,2,7,8,4]时,会形成两个山峰,一个是索引为1,峰值为4的山峰,另一个是索引为5,峰值为8的山峰,如下图所示:

面试必刷TOP101:19、寻找峰值_i++_02

import java.util.*;

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums int整型一维数组
     * @return int整型
     */
    public int findPeakElement (int[] nums) {
        // write code here
        if (nums == null) {
            return -1;
        }
        
        int[] dum = new int[nums.length+2];
        dum[0] = Integer.MIN_VALUE;
        dum[dum.length-1] = Integer.MIN_VALUE;

        for(int i = 0; i < nums.length; i++) {
            dum[i+1] = nums[i];
        }

        int left = 0;
        int mid = 1;
        int right = 2;

        while (right < dum.length) {
            if (dum[left] < dum[mid] && dum[mid] > dum[right]) {
                return mid-1;
            }
            left++;
            mid++;
            right++;
        }
        return -1;
    }
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   55   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   110   0   0 Java
  8s1LUHPryisj   2024年05月17日   46   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
9ShvDtAiXXil