美文网首页程序员
力扣 162 寻找峰值

力扣 162 寻找峰值

作者: zhaojinhui | 来源:发表于2020-10-15 01:54 被阅读0次

题意:给定一个数组,找出一个比相邻两个数大的数

思路:二分搜索数组

  1. 如果中间的数比后一个数大,那么e更新为m,因为m可能是结果
  2. 如果中间的数小于=后一个数,那么s更新为m+1,因为结果只能出现在m之后

思想:二分查找

复杂度:时间O(lgn),空间O(1)

class Solution {
    public int findPeakElement(int[] nums) {
        int n = nums.length;
        int s = 0;
        int e = n-1;
        while(s<e) {
            int m = s+(e-s)/2;
            if(nums[m] > nums[m+1])
                e = m;
            else 
                s = m+1;
        }
        return s;
    }
}

相关文章

  • 力扣 162 寻找峰值

    题意:给定一个数组,找出一个比相邻两个数大的数 思路:二分搜索数组 如果中间的数比后一个数大,那么e更新为m,因为...

  • 力扣 162. 寻找峰值

    峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰...

  • 162. 寻找峰值

    【Description】峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i]...

  • 162. 寻找峰值

  • Leetcode 162 寻找峰值

    Time: 2019-08-07难度:中等 题目描述 峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 n...

  • 162. 寻找峰值

    2021-09-15 LeetCode每日一题 链接:https://leetcode-cn.com/proble...

  • Leetcode 162 寻找峰值

    162. 寻找峰值[https://leetcode-cn.com/problems/find-peak-elem...

  • 162. 寻找峰值

    题目: 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能...

  • LeetCode 161-165

    162. 寻找峰值[https://leetcode-cn.com/problems/find-peak-elem...

  • leetcode-162. 寻找峰值

    题目: 162. 寻找峰值[https://leetcode-cn.com/problems/find-peak-...

网友评论

    本文标题:力扣 162 寻找峰值

    本文链接:https://www.haomeiwen.com/subject/sftnpktx.html