啥也不说了,就是一个二分法;找中间值,然后先判断mid和mid+1的大小,mid<mid+1递归search(nums,mid+1,r);反之亦然。
public class Solution {
public int findPeakElement(int[] nums) {
return search(nums,0,nums.length-1);
}
private int search(int[] nums,int l,int r){
if(l==r)
return l;
int mid=(l+r)/2;
if(nums[mid]>nums[mid+1])
return search(nums,l,mid);
return search(nums,mid+1,r);
}
}