leetcode 162 寻找峰值

假装没事ソ 提交于 2020-02-29 15:54:53

这道题主要是题意的理解,题中“你可以假设 nums[-1] = nums[n] = -∞。”这句话暗示如果num[i] <num[i+1],那么峰值一定在i+1到数组末尾存在。

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

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!