1894. Cari Pelajar yang Akan Menggantikan Kapur
Kesukaran: Sederhana
Topik: Tatasusunan, Carian Perduaan, Simulasi, Jumlah Awalan
Terdapat n murid dalam kelas bernombor 0 hingga n - 1. Guru akan memberikan setiap murid masalah bermula dengan murid nombor 0, kemudian murid nombor 1, dan seterusnya sehingga guru mencapai nombor murid n - 1. Selepas itu, guru akan memulakan semula proses, bermula dengan nombor pelajar 0 semula.
Anda diberi 0-diindeks kapur tatasusunan integer dan integer k. Pada mulanya terdapat k keping kapur. Apabila murid nombor i diberi masalah untuk diselesaikan, mereka akan menggunakan kapur[i] kepingan kapur untuk menyelesaikan masalah tersebut. Walau bagaimanapun, jika bilangan kepingan kapur semasa adalah secara ketat daripada kapur[i], maka nombor pelajar i akan diminta menggantikan kapur itu.
Kembalikan indeks pelajar yang akan menggantikan kepingan kapur.
Contoh 1:
Contoh 2:
Kekangan:
Petunjuk:
Penyelesaian:
Jom pecahkan masalah langkah demi langkah:
Jumlah Penggunaan Kapur:
Mula-mula, hitung jumlah kapur yang diperlukan untuk satu pusingan lengkap (daripada pelajar 0 kepada pelajar n-1). Ini akan membantu kita mengurangkan nilai k dengan mengambil kira berapa banyak pusingan lengkap boleh diliputi oleh k keping kapur.
Kurangkan k dengan Modulo:
Jika k lebih besar daripada jumlah kapur yang diperlukan untuk satu pusingan lengkap, kita boleh memudahkan masalah dengan mengambil k % jumlah_kapur. Operasi ini akan memberi kita baki kapur selepas pusingan penuh sebanyak mungkin, meninggalkan masalah yang lebih kecil untuk kita selesaikan.
Cari Pelajar Yang Kehabisan Kapur:
Ulangi penggunaan kapur setiap pelajar, tolak daripada k sehingga k menjadi kurang daripada keperluan kapur pelajar semasa. Indeks pelajar ini adalah jawapan kami.
Mari kita ambil contoh kapur = [3, 4, 1, 2] dan k = 25:
text{total_chalk} = 3 + 4 + 1 + 2 = 10
k % 10 = 25 % 10 = 5
Sekarang kita mempunyai k = 5 selepas menolak sebanyak mungkin pusingan penuh.
Mari laksanakan penyelesaian ini dalam PHP: 1894. Cari Pelajar yang Akan Menggantikan Kapur
Explanation:
- Total Chalk Sum: We sum up all the chalk requirements to get the total for one complete round.
- Modulo Operation: Using modulo with k, we get the effective number of chalks to distribute after full rounds.
- Find the Student: We then iterate through the students, checking if the remaining chalk is sufficient. The first time it's insufficient, that student's index is the answer.
Complexity:
This approach ensures that the problem is solved efficiently even for large inputs.
Contact Links
If you found this series helpful, please consider giving the repository a star on GitHub or sharing the post on your favorite social networks ?. Your support would mean a lot to me!
If you want more helpful content like this, feel free to follow me:
Atas ialah kandungan terperinci Cari Pelajar yang Akan Menggantikan Kapur. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!