首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

LeetCode Find Peak Element:峰值元素查找 O(log n) 二分法

     編輯:關於C++

問題描述

峰值元素:大於左右鄰居。數組相鄰元素不相等。返回任一峰值下標。想像 nums[-1]=nums[n]=-∞。

線性掃描 O(n)

int findPeakElement(vector& nums) {
    int l = 0, r = nums.size() - 1;
    while (l < r) {
        int mid = (l + r) / 2;
        if (nums[mid] < nums[mid+1]) l = mid + 1;
        else r = mid;
    }
    return l;
}

Python 版本

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved