题解 | 旋转排列之找出最矮的牛

旋转排列之找出最矮的牛

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

import java.util.*;


public class Solution {
    public int findMin (int[] heights) {
        final int n = heights.length;
        if (heights[0] >= heights[n - 1]) {
            return heights[0];
        }
        int l = 0, r = n - 1;
        // [0, l) decrease [r, n)
        while (l < r) {
            final int m = l + ((r - l) >> 1);
            if (heights[m] <= heights[0]) {
                l = m + 1;
            } else if (heights[m] >= heights[n - 1]) {
                r = m;
            }
        }
        return heights[l - 1];
    }
}


全部评论

相关推荐

05-05 21:45
已编辑
广州大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务