>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 중앙 피크 배열의 피크 찾기

JavaScript에서 중앙 피크 배열의 피크 찾기

WBOY
WBOY앞으로
2023-08-24 12:21:07870검색

在 JavaScript 中查找中心峰值数组的峰值

Center Peak Array

다음 속성이 만족되면 배열 arr을 Center Peak Array -

  • arr.length >= 3

  • 몇 가지 i와 0

    • arr[0]

    • arr[ i] > arr[i+ 1] > .. > arr[arr.length - 1]

Question

숫자 배열 arr을 첫 번째이자 유일한 매개변수로 받아들이는 JavaScript 함수를 작성해야 합니다.

입력 배열은 중앙 피크 배열입니다. 우리 함수는 이 중앙 피크 배열의 피크 인덱스를 반환해야 합니다.

예를 들어 함수에 대한 입력이

input

const arr = [4, 6, 8, 12, 15, 11, 7, 4, 1];

output

const output = 4;

output 설명

인 경우 인덱스 4(15)의 요소가 이 배열의 최고 요소이기 때문입니다.

다음은 코드입니다 -

라이브 데모

const arr = [4, 6, 8, 12, 15, 11, 7, 4, 1];
const findPeak = (arr = []) => {
   if(arr.length < 3) {
      return -1
   }
   const helper = (low, high) => {
      if(low > high) {
         return -1
      }
      const middle = Math.floor((low + high) / 2)
      if(arr[middle] <= arr[middle + 1]) {
         return helper(middle + 1, high)
      }
      if(arr[middle] <= arr[middle - 1]) {
         return helper(low, middle - 1)
      }
      return middle
   }
   return helper(0, arr.length - 1)
};
console.log(findPeak(arr));

Output

4

위 내용은 JavaScript에서 중앙 피크 배열의 피크 찾기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제