Maison  >  Article  >  interface Web  >  Trouver le sommet d'un tableau de pics centraux en JavaScript

Trouver le sommet d'un tableau de pics centraux en JavaScript

WBOY
WBOYavant
2023-08-24 12:21:07806parcourir

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

Center Peak Array

Si les propriétés suivantes sont satisfaites, nous appelons le tableau arr comme Center Peak Array -

  • arr.length >= 3

  • Il y a des i et 0

    • arr[0]

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

Question

Nous devons écrire une fonction JavaScript qui accepte un tableau numérique arr comme premier et unique paramètre.

Le tableau d'entrée est un tableau à crête centrale. Notre fonction devrait renvoyer l'indice de pic de ce tableau de pics central.

Par exemple, si l'entrée de la fonction est

input

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

output

const output = 4;

explication de la sortie

car l'élément à l'index 4 (15) est l'élément de pointe de ce tableau.

Exemple

Voici le code -

Démonstration en direct

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));

Sortie

4

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer