Maison > interface Web > js tutoriel > le corps du texte

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

WBOY
Libérer: 2023-08-24 12:21:07
avant
820 Les gens l'ont consulté

在 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];
Copier après la connexion

output

const output = 4;
Copier après la connexion

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));
Copier après la connexion

Sortie

4
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!