Ini adalah solusi JavaScript untuk salah satu algoritim pemrograman dinamis yang terkenal.
Video YouTube ini oleh Ben Wright mungkin berguna untuk memahami algoritma Kadane untuk subarray maksimum dalam urutan 1-D.
Baris pertama dari input memiliki kasus integer T. T mengikuti. Setiap kasus uji dimulai dengan integer N. di baris berikutnya, n bilangan bulat mengikuti mewakili elemen array A.
1≤T≤10
1≤n≤105
−104≤ai≤104
Subarray dan selanjutnya yang Anda pertimbangkan harus memiliki setidaknya satu elemen.
Dua, ruang terpisah, bilangan bulat yang menunjukkan subarray maksimum yang berdekatan dan tidak bersebelahan. Setidaknya satu bilangan bulat harus dipilih dan dimasukkan ke dalam subarray (ini mungkin diperlukan dalam kasus di mana semua elemen negatif).
2
4
1 2 3 4
6
2 -1 2 3 4 -5
10 10
10 11
Dalam kasus pertama: jumlah maksimal untuk elemen yang berdekatan dan tidak kontigu adalah jumlah dari semua elemen (karena semuanya positif).
Dalam kasus kedua: [2 -1 2 3 4] -> Ini membentuk sub -array yang berdekatan dengan jumlah maksimum. Untuk jumlah maksimal dari kelompok elemen yang tidak perlu yang tidak perlu, cukup tambahkan semua elemen positif.