题解 | 寻找峰值

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型
     */
    int findPeakElement(vector<int>& nums) {
        // write code here
        int N = nums.size();
        if(N==1) return 0;
        if(N==2) return nums[0]>nums[1] ? 0 : 1;
        int left{0},right{N-1};
        // 边界情况
        if(nums[left]>nums[left+1]) return left;
        if(nums[right]>nums[right-1]) return right;
        while(left != right){
            if(nums[left+1]>nums[left] && nums[left+1]>nums[left+2]) return left+1;
            else{
                left++;
            }
            if(nums[right-1]>nums[right] && nums[right-2]<nums[right-1]) return right-1;
            else{
                right--;
            }
        }
        return -1;
    }
};

看下大多数二分查找,提交有些case过不了,提供一份能过代码,欢迎大佬修正

全部评论

相关推荐

正在干活结果人事过来找我,说我被裁了,还说要裁一半,一些没转正的先踢出去…&nbsp;真是牛逼现在的公司,怪不得越做越小。上个月初提交的转正申请,我老大也同意了,我真以为我转正了,结果人事跟我说我老大不知道这些,好吧那你们瞒着呗真是逆天…&nbsp;又要开始找工作了,现在工作哪里这么好找,还有这么多公司喜欢这种操作,坑我们应届生真服了👿
CoderEcho:看你的主页,你好像是有点内向,不怎么说话?我之前实习也是这样的,hr和主管也是用我太内向导致的主管看不到头,工作习惯不好,不适合他们这样的原因把我实习劝退,但是公司肯定有公司的问题,因为去年没一个实习转正的,连社招生都劝退。倒也不是替公司说话,只是一些建议,公司内部裁员肯定是公司的问题,只是积极主动(或者领导眼中积极主动)的人未来一定会有更多机会,刚被劝退的时候基本上秋招已经结束,但是1月份的时候还是上岸啦,并且面试时我说出了我对积极主动的理解也是加分的一点。祝你继续加油往前走,大厂经历+985学历,结果一定不会差的啦
点赞 评论 收藏
分享
2024-12-26 20:46
复旦大学 C++
国棉17厂丶小王:拿了offer的那个周末晚上去网吧通宵,去网吧不知道玩什么刷了lc的每日一题,然后试着第一次打开了三角洲行动,从此少了一个已经刷了700道题的lc用户,但是烽火地带多了一只🐭🐭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务