Pertimbangkan tanggal yang diformat dalam YYYY-MM-DD
. Anda dapat menggunakan joker *
di akhir string tanggal. Misalnya 2016-07-2*
menggambarkan semua tanggal dari 2016-07-20
hingga 2016-07-29
.
Sekarang, pertimbangkan periode yang diwakili oleh tanggal mulai dan tanggal akhir.
Algoritma harus menemukan daftar tanggal sekecil mungkin yang mewakili periode.
Mari kita gunakan contoh. Untuk periode berikut:
- mulai tanggal:
2014-11-29
- tanggal akhir:
2016-10-13
Algoritme harus mengembalikan array yang berisi daftar tanggal berikut:
2014-11-29
2014-11-30
2014-12-*
2015-*
2016-0*
2016-10-0*
2016-10-10
2016-10-11
2016-10-12
2016-10-13
Jawaban:
PHP,
541343 byteSaya ingin mendapatkan algoritma yang bekerja di tempat pertama; tetapi menurunkannya sebenarnya jauh lebih menyenangkan dari yang saya harapkan (terutama menelusuri format tanggal & waktu yang didukung ).
Tiga tindakan utama menghemat sekitar 130 byte; tetapi 70 byte dari pegolf kecil
(yang juga menjadikan salah satu langkah besar usang) membawa banyak kesenangan.
mengambil input dari argumen baris perintah. Jalankan dengan
-nr
atau coba online .catatan
Y-m-3*
untukY-m-30
; tambahkan 7 byte untuk diperbaiki: Masukkan|$a==$t
setelah777600))
.+$p
dengan+!$p
.tapi saya akan menunggu sedikit untuk melihat apakah ada orang lain yang mengirimkan sebelum saya merusak.
sumber