leetcode中等162寻找峰值

Posted qq_40707462

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode中等162寻找峰值相关的知识,希望对你有一定的参考价值。


注意:[1,2] 输出1
[1]输出0

思路:要求时间复杂度log(n),必须二分
相当于找函数的极值

class Solution:
    def findPeakElement(self, nums: List[int]) -> int:
        left=0
        right=len(nums)-1
        while(left<right):
            mid=(left+right)//2
            if(nums[mid]>nums[mid+1]):
                right=mid
            else:
                left=mid+1
            
        return left
class Solution {
    public int findPeakElement(int[] nums) {
        int left=0,right=nums.length-1;
        while(left<right){
            int mid=(left+right)/2;
            if(nums[mid]>nums[mid+1]){
                right=mid;
            }else{
                left=mid+1;
            }
        }
        return left;
    }
}

以上是关于leetcode中等162寻找峰值的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode刷题100天—162. 寻找峰值(滑动窗口)—day39

Leetcode刷题100天—162. 寻找峰值(滑动窗口)—day39

LeetCode第162题—寻找峰值—Python实现

LeetCode第162题—寻找峰值—Python实现

LeetCode 162. 寻找峰值c++/java详细题解

leetcode(162)---寻找峰值(二分查找)