Heim  >  Artikel  >  Web-Frontend  >  Zahlen auswählen – HakerRank-Lösung – Javascript

Zahlen auswählen – HakerRank-Lösung – Javascript

WBOY
WBOYOriginal
2024-09-03 11:33:47254Durchsuche

Picking Numbers - HakerRank Solution - Javascript

Suchen Sie bei einem gegebenen Array von Ganzzahlen das längste Subarray, bei dem die absolute Differenz zwischen zwei beliebigen Elementen kleiner oder gleich

ist

Beispiel

_a = [1,1,2,2,4,4,5,5,5]_
Es gibt zwei Unterarrays, die das Kriterium erfüllen: [1,1,2,2] und [4,4,5,5,5]. Das Subarray mit der maximalen Länge besteht aus 5 Elementen.

Funktionsbeschreibung

Vervollständigen Sie die Funktion pickingNumbers im Editor unten.

pickingNumbers hat die folgenden Parameter:

  • int a[n]: ein Array von ganzen Zahlen

Rückgaben

  • int: die Länge des längsten Subarrays, das das Kriterium erfüllt

Eingabeformat

Die erste Zeile enthält eine einzelne Ganzzahl n, die Größe des Arrays a.
Die zweite Zeile enthält n durch Leerzeichen getrennte Ganzzahlen, jede ein a[i].

Lösung

function pickingNumbers(a) {
    // Create an array to store frequency of each element in the input array
    let frequency = new Array(100).fill(0);

    // Count frequency of each element
    for (let i = 0; i < a.length; i++) {
        frequency[a[i]]++;
    }

    // Initialize a variable to store the maximum length of subarray found
    let maxLength = 0;

    // Traverse through frequency array to find the longest subarray
    for (let i = 1; i < frequency.length; i++) {
        // The length of a valid subarray is the sum of the frequency of
        // the current element and the previous element
        maxLength = Math.max(maxLength, frequency[i] + frequency[i - 1]);
    }

    return maxLength;
}

Das obige ist der detaillierte Inhalt vonZahlen auswählen – HakerRank-Lösung – Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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