Cari Bug dalam Array
15 minitPertengahanDebugging
Papan pendahulu menunjukkan 95, 9, 88 sebagai tiga teratas — tetapi ada orang dapat 100! Dan baris "All scores" bukan lagi dalam susunan asal skor itu masuk. Function ini nampak munasabah pada pandangan pertama. Debug.
topThree([88, 9, 100, 72, 95, 7]) // [100, 95, 88]
topThree([5, 40, 300]) // [300, 40, 5]
topThree([42]) // [42] (fewer than 3 is fine)
topThree([]) // []Hasil yang dijangka
Kekangan
- Pulangkan array nombor yang baharu, tertinggi dahulu. Nilai sama dikira berasingan (
[10, 10, 3]sah). - Jangan ubah array yang dihantar masuk — kod lain masih memerlukannya dalam susunan asal.
- Skor boleh jadi apa-apa nombor, termasuk negatif.
topThree(scores) sepatutnya memulangkan tiga skor tertinggi, yang tertinggi dahulu, tanpa mengubah array asal. Ia memulangkan skor yang salah dan merosakkan input — cari dan baiki bug tersebut.
Semakan
- Memulangkan tiga teratas sebenar, tertinggi dahulu
- Array asal tidak diubah
- Mengendalikan array pendek, nilai sama dan negatif
Pratonton
Output konsol daripada kod anda akan dipaparkan di sini.