题解 | #寻找峰值#

寻找峰值

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

func findPeakElement(nums []intint {
    // write code here
    lr := 0len(nums)-1
    get := func(i intint {
        if i == -1 || i == len(nums) {
            return math.MinInt64
        }
        return nums[i]
    }
    for {
        mid := (l + r) / 2
        if get(mid-1) < get(mid) && get(mid) > get(mid+1) {
            return mid
        }
        if get(mid) < get(mid+1) {
            l = mid + 1
        } else {
            r = mid - 1
        }
    }
}
#如果可以回到1年前#
全部评论

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务