/**二分加上一般方法
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @param numsLen int nums数组长度
* @return int整型
*/
int findPeakElement(int* nums, int numsLen ) {
// write code here
// int i=0;
// if(nums[0]>nums[1]) return 0;
// if(nums[numsLen-1]>nums[numsLen-2]) return numsLen-1;
// while(i<numsLen)
// {
// if(nums[i]<nums[i+1])
// {
// i++;
// }else{
// if(nums[i-1]<nums[i])
// break;
// else i+=2;
// }
// }
// return i;
int left=0;
int right=numsLen-1;
int mid=(left+right)/2;
if(nums[left]>nums[left+1]) return left;
if(nums[right]>nums[right-1]) return right;
while(left<mid&&mid<right)
{
if(nums[mid]>nums[mid-1]&&nums[mid]>nums[mid+1]) return mid;
if(nums[mid]>nums[mid-1])
{
mid=(mid+right)/2;
}
if(nums[mid]<nums[mid-1])
{
mid=(mid+left)/2;
}
}
return mid;
}