Anda memiliki banyak kotak yang berat dan Anda ingin menumpuknya dalam jumlah tumpukan paling sedikit. Masalahnya adalah Anda tidak bisa menumpuk lebih banyak kotak pada kotak daripada yang bisa didukung, jadi kotak yang lebih berat harus ada di bagian bawah tumpukan.
Tantangan
Input : Daftar bobot kotak, dalam satuan kg.
Keluaran : Daftar daftar yang menggambarkan tumpukan kotak. Ini harus menggunakan tumpukan paling sedikit untuk input. Untuk menjadi tumpukan yang valid, berat masing-masing kotak di tumpukan harus lebih besar dari atau sama dengan jumlah berat semua kotak di atasnya.
Contoh tumpukan yang valid
(Di urutan bawah ke atas)
- [3]
- [1, 1]
- [3, 2, 1]
- [4, 2, 1, 1]
- [27, 17, 6, 3, 1]
- [33, 32, 1]
- [999, 888, 99, 11, 1]
Contoh tumpukan tidak valid
(Agar dari bawah ke atas)
- [1, 2]
- [3, 3, 3]
- [5, 5, 1]
- [999, 888, 777]
- [4, 3, 2]
- [4321, 3000, 1234, 321]
Contoh Kasus Uji
1
IN: [1, 2, 3, 4, 5, 6, 9, 12]
OUT: [[12, 6, 3, 2, 1], [9, 5, 4]]
2
IN: [87, 432, 9999, 1234, 3030]
OUT: [[9999, 3030, 1234, 432, 87]]
3
IN: [1, 5, 3, 1, 4, 2, 1, 6, 1, 7, 2, 3]
OUT: [[6, 3, 2, 1], [7, 4, 2, 1], [5, 3, 1, 1]]
4
IN: [8, 5, 8, 8, 1, 2]
OUT: [[8, 8], [8, 5, 2, 1]]
Aturan dan Asumsi
- Aturan I / O standar dan celah terlarang berlaku
- Gunakan format apa pun yang nyaman untuk I / O
- Tumpukan dapat digambarkan dari atas ke bawah atau dari bawah ke atas, selama Anda konsisten.
- Urutan tumpukan (bukan kotak di dalam tumpukan itu) tidak masalah.
- Anda juga dapat mengambil kotak input sebagai daftar yang dipilih. Urutan tidak terlalu penting untuk input, asalkan masalah umum tidak diselesaikan dengan penyortiran itu sendiri.
- Jika ada lebih dari satu konfigurasi tumpukan yang optimal, Anda dapat mengeluarkan salah satunya
- Anda dapat berasumsi bahwa setidaknya ada satu kotak dan semua kotak memiliki berat setidaknya 1 kg
- Anda harus mendukung bobot hingga 9.999 kg, minimal.
- Anda harus mendukung hingga 9.999 kotak total, minimal.
- Kotak dengan berat yang sama tidak dapat dibedakan, jadi tidak perlu membubuhi keterangan kotak mana yang digunakan.
Selamat bermain golf! Semoga berhasil!
[8, 8, 8, 5, 1]
[[8, 8], [8, 5, 1]]
[8, 5, 8, 8, 1, 2]
->[[8, 8], [8, 5, 2, 1]]