Heim > Artikel > Web-Frontend > Finden Sie den Peak einer Reihe zentraler Peaks in JavaScript
Wenn die folgenden Eigenschaften erfüllt sind, nennen wir das Array arr als Center Peak Array -
arr.length >= 3
Es gibt einige i und 0
arr[0]
arr[ i] > arr[i+ 1] > .. > arr[arr.length - 1]
Wir müssen eine JavaScript-Funktion schreiben, die ein numerisches Array arr als ersten und einzigen Parameter akzeptiert.
Das Eingabearray ist ein Center-Peak-Array. Unsere Funktion sollte den Peak-Index dieses zentralen Peak-Arrays zurückgeben.
Zum Beispiel, wenn die Eingabe für die Funktion
Eingabe
const arr = [4, 6, 8, 12, 15, 11, 7, 4, 1];
Ausgabe
const output = 4;
Ausgabeerklärung
ist, weil das Element am Index 4 (15) das Spitzenelement dieses Arrays ist.
Hier ist der Code -
Live-Demonstration
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));
4
Das obige ist der detaillierte Inhalt vonFinden Sie den Peak einer Reihe zentraler Peaks in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!