给一个山脉数组,要求返回它的最大值的索引
很典型的二分查找
int peakIndexInMountainArray(int* arr, int arrSize) {
int left = 0, right = arrSize - 1;
int mid = left + (right - left) / 2;
while (left<=right)
{
mid = left + (right - left) / 2;
if (arr[mid] > arr[mid - 1] && arr[mid] > arr[mid + 1])
return mid;
else if (arr[mid] < arr[mid + 1])
{
left = mid ;
}
else if (arr[mid] < arr[mid - 1])
{
right = mid ;
}
else
mid = mid;
}
return mid;
}