水题-题解 | #寻找峰值#

寻找峰值

https://www.nowcoder.com/practice/fcf87540c4f347bcb4cf720b5b350c76

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

        if( nums[ nums.size()-1 ] > nums[ nums.size()-2 ] )
        return nums.size()-1;

        return res;
    }
};

全部评论

相关推荐

03-24 17:45
门头沟学院 C++
一个头三个大:我也是这样,状态持续了十天然后今天上午流程结束了,应该是横向对比挂了
点赞 评论 收藏
分享
05-12 16:04
已编辑
江西财经大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务