题目链接
代码
二分枚举
int peakIndexInMountainArray(int* arr, int arrSize){
int l = 1, r = arrSize - 2, mid, ret;
while (l <= r) {
mid = l + (r - l >> 1); // 1
if (arr[mid] > arr[mid + 1]) {
ret = mid;
r = mid - 1;
} else {
l = mid + 1;
}
}
return ret;
}
- 注意+ 优先级 高于>>
暴力枚举
int peakIndexInMountainArray(int* arr, int arrSize){
for (int i = 0; i < arrSize - 1; ++i) {
if (arr[i + 1] < arr[i]) {
return i;
}
}
return;
}