Binary Search
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class Solution { public int peakIndexInMountainArray(int[] arr) { int i = 0, j = arr.length - 2; int peakIndex = 0; while (i <= j) { int mid = (i + j) >>> 1; if (arr[mid] < arr[mid + 1]) { i = mid + 1; } else { peakIndex = mid; j = mid - 1; } }
return peakIndex; } }
|
Binary Search
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Solution { public int peakIndexInMountainArray(int[] arr) { int left = 0, right = arr.length - 1; while (left < right) { int mid = (left + right) >>> 1; if (arr[mid] < arr[mid + 1]) { left = mid + 1; } else { right = mid; } }
return left; } }
|
References
852. Peak Index in a Mountain Array
剑指 Offer II 069. 山峰数组的顶部