题解 | #寻找峰值#

寻找峰值

http://www.nowcoder.com/practice/1af528f68adc4c20bf5d1456eddb080a

最快一次是 2ms 超过了 100% 的代码

不过我觉得大家代码写的应该差不多。直接倒序指针就行了,没什么好说的

class Solution {
public:
    /**
     * 寻找最后的山峰
     * @param a int整型一维数组 
     * @param aLen int a数组长度
     * @return int整型
     */
    int solve(int* a, int aLen) {
        // write code here
        int i = aLen - 2;
        // 查看 a[aLen-1] 是否符合条件
        if(a[aLen - 1] >= a[aLen - 2] ) return aLen - 1;
        while(i!=1){
            if((a[i]>=a[i-1])&&(a[i]>=a[i+1])) return i;
            --i;
        }
        // 查看 a[0] 是否符合条件
        if(aLen >=2 && (a[0]>=a[1])) return 0;
        // 实际上代码不应该会走到这里,所以这里随便填啦。只是为了编译通过
        return aLen - 1;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 10:52
点赞 评论 收藏
分享
10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务