Rumah >hujung hadapan web >tutorial js >Memilih Nombor - Penyelesaian HakerRank - Javascript

Memilih Nombor - Penyelesaian HakerRank - Javascript

WBOY
WBOYasal
2024-09-03 11:33:47292semak imbas

Picking Numbers - HakerRank Solution - Javascript

Memandangkan tatasusunan integer, cari subbaris terpanjang di mana perbezaan mutlak antara mana-mana dua elemen adalah kurang daripada atau sama dengan

Contoh

_a = [1,1,2,2,4,4,5,5,5]_
Terdapat dua subarray yang memenuhi kriteria: [1,1,2,2] dan [4,4,5,5,5]. Subarray panjang maksimum mempunyai 5 elemen.

Penerangan Fungsi

Lengkapkan fungsi pickingNumbers dalam editor di bawah.

pickingNumbers mempunyai parameter berikut:

  • int a[n]: tatasusunan integer

Pulangan

  • int: panjang subarray terpanjang yang memenuhi kriteria

Format Input

Baris pertama mengandungi integer tunggal n, saiz tatasusunan a.
Baris kedua mengandungi n integer yang dipisahkan ruang, setiap satu adalah a[i].

Penyelesaian

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

Atas ialah kandungan terperinci Memilih Nombor - Penyelesaian HakerRank - Javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn