#yyds干货盘点# LeetCode程序员面试金典:寻找峰值

发布时间:2023-05-19 09:08:28

1.简述:

峰值元素是指其值严格大于左右相邻值的元素。

给你一个整数组nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下返回 任何峰值 位置可以。

可以假设nums[-1] = nums[n] = -∞ 。

你必须实现时间复杂度 O(log n) 解决这个问题的算法。

示例 1:

输入:nums = [1,2,3,1]

输出:2

解释:3 它是一个峰值元素,你的函数应该返回其索引 2。

示例2:

输入:nums = [1,2,1,3,6,4]

输出:1 或 5

解释:您的函数可以返回索引 1.其峰值元素为 2;

或者返回索引 5, 峰值元素为 6。

2.实现代码:

class Solution {    public int findPeakElement(int[] nums) {        int idx = 0;        for (int i = 1; i < nums.length; ++i) {            if (nums[i] > nums[idx]) {                idx = i;            }        }        return idx;    }}

上一篇 JavaScript实现checkbox全选,当只有一个时不起作用的情况也已经解决
下一篇 #yyds干货盘点# LeetCode程序员面试金典: 二叉树的层序遍历 II

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题