Rumah > pembangunan bahagian belakang > Tutorial Python > Kemunculan Kod &#- Pecah DayDisk (Python)

Kemunculan Kod &#- Pecah DayDisk (Python)

Barbara Streisand
Lepaskan: 2024-12-17 10:45:24
asal
162 orang telah melayarinya

Advent of Code

Kedatangan Kod Hari 9: Pemecah Cakera

Penyelesaian hari ini hanya dilakukan dalam Python hari ini, kerana tbh, saya mendapati sukar untuk mencari masa untuk menulis dalam kedua-dua Python dan C# serta menulis, jadi memilih untuk melakukan salah satu daripada yang lain ke hadapan .

Bahagian 1

Ini adalah agak lurus ke hadapan, permintaannya adalah untuk menukar input kepada id dan ruang kosong , dengan indeks ganjil ialah id dan genap ialah ruang kosong (.) dan ulangi x kali berkorelasi dengan nombor dalam input cth;

1234 =>

1 => 1x id --> 0
2 => 2x kosong --> ..
3 => 3x id --> 111
4 => 4x empy --> ....

Barisan keseluruhan => 0..111....

Kami kemudiannya diminta untuk mengalihkan elemen paling kanan ke ruang paling kosong di sebelah kiri.

iaitu gerakkan 1 -> yang pertama (.), kita melakukan ini menggunakan dua gelung, satu pergi dari belakang -> hadapan, dan hadapan yang satu lagi -> belakang.

Apabila kami menjumpai Id, kami bergerak dari hadapan untuk mencari ruang kosong pertama, dan menukar titik ini, dan meneruskan sehingga semua nombor dari kanan dialihkan ke ruang kosong kiri.

Selagi indeks kanan, sentiasa lebih besar daripada indeks kiri, atau mereka belum bertemu di tengah teruskan.

Bahagian 2

Sekarang daripada hanya mencari ruang paling kiri yang paling kosong, kita perlu mencuba dan mencari ruang paling kiri paling kosong, yang boleh memuatkan keseluruhan fail (id) contohnya jika kita mempunyai ID fail 9999, kita memerlukan 4 ruang kosong bersama-sama, jika tidak, kita memindahkannya ke ruang kosong seterusnya. Jika tiada ruang kosong kita beralih ke fileId seterusnya.

[Spoiler] -> Penyelesaian boleh didapati di GitHub

Seperti biasa anda boleh menghubungi dan mengikuti di Twitter

Atas ialah kandungan terperinci Kemunculan Kod &#- Pecah DayDisk (Python). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan