zoukankan      html  css  js  c++  java
  • 162 Find Peak Element 寻找峰值

    峰值元素是指其值大于左右相邻值的元素。
    给定一个输入数组,其中 num[i] ≠ num[i+1],找到峰值元素并返回其索引。
    数组可能包含多个峰值,在这种情况下,返回到任何一个峰值所在位置都可以。
    你可以想象得到  num[-1] = num[n] = -∞。
    例如,在数组 [1, 2, 3, 1]中 3 是峰值元素您的函数应该返回索引号2。
    注意:
    你的解决方案应该是对数复杂度的。

    详见:https://leetcode.com/problems/find-peak-element/description/

    Java实现:

    class Solution {
        public int findPeakElement(int[] nums) {
            int n=nums.length;
            if(n==0){
                return -1;
            }
            int left=0;
            int right=n-1;
            while(left<right){
                int mid=(left+right)>>1;
                if(nums[mid]<nums[mid+1]){
                    left=mid+1;
                }else{
                    right=mid;
                }
            }
            return right;
        }
    }
    
  • 相关阅读:
    奔跑的绵羊js
    13.差分
    12.子矩阵的和
    11.前缀和
    10.高精度除法
    9.高精度乘法
    8.高精度减法
    7.高精度加法
    6.数的三次方根
    5.数的范围
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8728346.html
Copyright © 2011-2022 走看看