题解 | #寻找牛群中的最高牛#

寻找牛群中的最高牛

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param heights int整型一维数组
     * @return int整型
     */
    public int findPeakElement (int[] heights) {
        // write code here
        int left = 0;
        int right = heights.length - 1;

        while (left < right) {
            int mid = left + (right - left) / 2;

            if (heights[mid] > heights[mid + 1]) {
                // 峰值在左侧或者当前位置
                right = mid;
            } else if (heights[mid] < heights[mid + 1]) {
                // 峰值在右侧
                left = mid + 1;
            } else {
                // 这里处理相邻元素相等的情况,向左或向右移动left和right
                left = mid + 1;
                right = mid;
            }
        }
        return left;
    }
}

全部评论

相关推荐

牛仔知道哦:你是我见过最美的牛客女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务