feat:[162] 寻找峰值

This commit is contained in:
Wen 2023-07-31 18:10:36 +08:00
parent 7cd3bcd44e
commit 5833ea04f0
1 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,41 @@
/*
* @lc app=leetcode.cn id=162 lang=javascript
*
* [162] 寻找峰值
*/
// @lc code=start
/**
* @param {number[]} nums
* @return {number}
*/
var findPeakElement = function (nums) {
if (nums.length == 1 || nums.length == 0) return 0;
return split(nums, 0, nums.length);
};
function split(nums, front, tail) {
if (front == tail) {
if (
(front == 0 && nums[front] > nums[front + 1]) ||
(front == nums.length - 1 && nums[front] > nums[front - 1]) ||
(nums[front] > nums[front - 1] && nums[front] > nums[front + 1])
) {
return front;
} else {
return -1;
}
}
const mid = Math.floor((front + tail) / 2);
if (nums[mid] > nums[mid - 1] && nums[mid] > nums[mid + 1]) {
return mid;
}
const left = split(nums, front, mid);
if (left != -1) {
return left;
}
return split(nums, mid + 1, tail);
}
console.log(findPeakElement([1, 2]));
// @lc code=end