Skip to content

Latest commit

 

History

History
46 lines (41 loc) · 978 Bytes

162.-find-peak-element.md

File metadata and controls

46 lines (41 loc) · 978 Bytes

162. Find Peak Element

{% tabs %} {% tab title="CPP" %}

class Solution {
public:
    int findPeakElement(vector<int>& nums) {
        int l = 0,r = nums.size()-1; // 初始话不会是0值!!!!!
        while (l < r) {
            int mid = l + (r - l) / 2;
            if (nums[mid] < nums[mid + 1]){
                //  情景
                l = mid + 1;
            }
            else {
                r = mid;
            }
        }
        return l;
    }
};

{% endtab %}

{% tab title="Python" %}

class Solution:
    def findPeakElement(self, nums: List[int]) -> int:
        ## Your solution should be in logarithmic complexity.
        ## 二分了
        l , r = 0 , len(nums) -1 
        while l<r:
            mid = (l + r)//2
            if nums[mid] < nums[mid + 1]:
                l = mid + 1
            else:
                r= mid
        return l 
    ### 这也算mid? 找到一个peek 

{% endtab %} {% endtabs %}