Find Local Maximum

  1. 找所有 local maximum,array 满足两个条件
    |a[i] - a[i-1]| = 1

  2. The local maxima are sparse
    E.g. 1 2 3 4 5 6 7 8 7 6 5 4 3 4 5 6 7 6 5 => [8 7]

思路
由于#local maxima << n, 可以考虑用binary search来避开已知不包含local maxima的部分

如果一个区间[left,right] 符合 right - left == abs(nums[right] - nums[left])的话则证明这是一个单调区间,不可能出现Local Maximum。
否则的话进入这个区间搜索,一直divide直到只有一个元素,check这个元素是否local maximum,如果是的话加到list里

你可能感兴趣的:(Find Local Maximum)