/**二分加上一般方法
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param nums int整型一维数组 
 * @param numsLen int nums数组长度
 * @return int整型
 */
 
int findPeakElement(intnumsint 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;
  

}