/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @param numsLen int nums数组长度 * @return int整型 */ int findPeakElement(int* nums, int numsLen ) { // write code here if (numsLen == 1) { // 只有一个元素,那么它就是峰值 return 0; } // 单边峰处理,只需要检测左端和右端即可 if (nums[numsLen-1] > nums[numsLen-2]) { return numsLen-1; } if (nums[0] > nums[1]) { return 0; } if (numsLen == 2 && nums[0] == nums[1] ) { return -1; } for (int i = 0; i < numsLen - 3; i++) { if (nums[i]<nums[i+1] && nums[i+1]>nums[i+2]) { return i+1; } } return -1; }