题解 | #寻找峰值#
寻找峰值
https://www.nowcoder.com/practice/fcf87540c4f347bcb4cf720b5b350c76
C语言:
int findPeakElement(int* nums, int numsLen ) {
// write code here
int i,j;
for(i = 0; i < numsLen-1; i++){ //遍历数组假设当前位置是山峰
for(j = i+1; j < numsLen; j++){ //遍历山峰下一个
if(nums[j] >= nums[i]){ //如果下一个值大于等于i(山峰),则退出当前内循环,选取下一个山峰
break;
}else{ //如果下一个值小于i(山峰),则i是山峰成立,返回i
return i;
}
}
}
return i; //如果找到末尾,没有则返回i,此时[1][1,2]两种情况都适用
}