Memandangkan tatasusunan integer, cari subbaris terpanjang di mana perbezaan mutlak antara mana-mana dua elemen adalah kurang daripada atau sama dengan
_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.
Lengkapkan fungsi pickingNumbers dalam editor di bawah.
pickingNumbers mempunyai parameter berikut:
Baris pertama mengandungi integer tunggal n, saiz tatasusunan a.
Baris kedua mengandungi n integer yang dipisahkan ruang, setiap satu adalah a[i].
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!