Heim > Web-Frontend > js-Tutorial > JavaScript-Programm zum Finden des Subarrays mit dem kleinsten Mittelwert

JavaScript-Programm zum Finden des Subarrays mit dem kleinsten Mittelwert

WBOY
Freigeben: 2023-08-23 23:33:13
nach vorne
1078 Leute haben es durchsucht

JavaScript 程序查找平均值最小的子数组

Wir werden ein Programm schreiben, um das Subarray mit dem kleinsten Mittelwert zu finden. Dazu durchlaufen wir das Array und verfolgen das aktuelle Subarray und seine Summe. Für jedes Element berechnen wir den Durchschnitt des aktuellen Subarrays und vergleichen ihn mit dem kleinsten Durchschnitt, den wir bisher gesehen haben. Wenn er niedriger ist, aktualisieren wir den minimalen Durchschnitt des Subarrays sowie die Start- und Endindizes. Am Ende der Iteration geben wir das Subarray mit dem kleinsten Mittelwert zurück.

Methode

Um das Subarray mit dem kleinsten Mittelwert zu finden, können wir diese Schritte befolgen -

  • Initialisiert zwei Variablen, start und end, um den Start- und Endindex des Subarrays zu verfolgen.

  • Verwenden Sie for , um das Array zu durchlaufen und dabei die aktuelle Summe und den kleinsten bisher gefundenen Durchschnitt zu verfolgen.

  • Vergleichen Sie in jeder Iteration die aktuelle Summe mit dem Mindestdurchschnitt, und wenn ein neues Minimum gefunden wird, aktualisieren Sie die Variablen Start und End.

  • Wenn die aktuelle Summe größer als der Mindestdurchschnitt ist, verschieben Sie den Startindex nach vorne, bis die Summe kleiner als der Mindestdurchschnitt ist.

  • Wiederholen Sie die Schritte 2–4, bis Sie das Ende des Arrays erreicht haben.

  • Das Subarray mit dem kleinsten Durchschnitt ist das Subarray, das bei Start beginnt und bei Ende endet.

Beispiel

Suchen Sie bei einem gegebenen Array von ganzen Zahlen das Subarray mit dem kleinsten Mittelwert.

Hier ist ein vollständig funktionierendes JavaScript-Beispiel zur Lösung dieses Problems -

function findsmallestAverageSubarray(arr, k) {
   let minAvg = Number.POSITIVE_INFINITY;
   let minAvgStart = 0;
   let windowSum = 0;
   for (let i = 0; i < arr.length - k + 1; i++) {
      if (i === 0) {
         for (let j = 0; j < k; j++) {
            windowSum += arr[j];
         }
      } else {
         windowSum -= arr[i - 1];
         windowSum += arr[i + k - 1];
      }
      let windowAvg = windowSum / k;
      if (windowAvg < minAvg) {
         minAvg = windowAvg;
         minAvgStart = i;
      }
   }
   return arr.slice(minAvgStart, minAvgStart + k);
}

const arr = [1, 3, 6, -3, -4, 2, 5];
const k = 4;

console.log(findsmallestAverageSubarray(arr, k));
Nach dem Login kopieren

Anleitung

Die
  • -Funktion

    findSmallestAverageSubarray nimmt als Eingabe ein Array von Ganzzahlen arr und eine Ganzzahl k an, wobei k das Unterarray ist.

    Die Funktion
  • gibt das Subarray mit dem kleinsten Mittelwert zurück.

  • minAvgDie Variable wird mit dem größtmöglichen Wert einer Gleitkommazahl initialisiert.

    Die Variable
  • minAvgStart wird verwendet, um den Startindex des Subarrays mit dem kleinsten Durchschnitt zu speichern.

    Die Variable
  • windowSum wird verwendet, um die Summe der Elemente im aktuellen Subarray zu speichern.

  • Äußere Schleife

    for (let i = 0; i für iterierende Länge k im gegebenen Array arr.

  • Die innere Schleife

    for (let j = 0; j wird verwendet, um die Summe der Elemente im aktuellen Subarray zu berechnen.

    Der
  • if (i === 0)-Block wird verwendet, um die Summe der Elemente im ersten Unterarray zu berechnen.

    Der
  • else-Block wird verwendet, um die Summe der Elemente in den verbleibenden Subarrays zu berechnen. Es subtrahiert das erste Element des vorherigen Subarrays und fügt das letzte Element des aktuellen Subarrays hinzu.

    Die Variable
  • windowAvg wird zum Speichern des Durchschnittswerts des aktuellen Unterarrays verwendet.

    Der Block
  • if (windowAvg wird verwendet, um den Mindestdurchschnitt und den Startindex des Unterarrays mit dem Mindestdurchschnitt zu aktualisieren.

  • Abschließend gibt die Funktion das Subarray mit dem kleinsten Durchschnitt zurück.

Das obige ist der detaillierte Inhalt vonJavaScript-Programm zum Finden des Subarrays mit dem kleinsten Mittelwert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage