/** * @param {number[]} nums * @return {number} */var findPeakElement = function(nums) { return binarySearchPeak(nums, 0, nums.length - 1)};const binarySearchPeak = (nums, left, right) => { if(right == left) return left if(left == right - 1) return nums[left] > nums[right] ? left : right let center = left + parseInt((right - left) / 2) if(nums[center - 1] < nums[center] && nums[center] > nums[center + 1]) { return center } else if(nums[center - 1] > nums[center] && nums[center] > nums[center + 1]) { return binarySearchPeak(nums, left, center - 1) } else { return binarySearchPeak(nums, center + 1, right) }}