Considere una fecha formateada en YYYY-MM-DD
. Puede usar el comodín *
al final de la cadena de fecha. Por ejemplo, 2016-07-2*
describe todas las fechas de 2016-07-20
a 2016-07-29
.
Ahora, considere un período representado por una fecha de inicio y una fecha de finalización.
El algoritmo debe encontrar la lista más pequeña posible de fechas que representan el período.
Usemos un ejemplo. Para el siguiente período:
- fecha de inicio:
2014-11-29
- fecha final:
2016-10-13
El algoritmo debe devolver una matriz que contenga la siguiente lista de fechas:
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
Respuestas:
PHP,
541343 bytesEn primer lugar, quería que el algoritmo funcionara; pero jugar golf fue mucho más divertido de lo que esperaba (especialmente navegar por los formatos de fecha y hora admitidos ).
Tres acciones principales ahorraron alrededor de 130 bytes; pero los 70 bytes de golf menores
(que también dejaron obsoleto uno de los grandes pasos) fueron muy divertidos.
toma datos de los argumentos de la línea de comandos. Ejecutar
-nr
o probarlo en línea .notas
Y-m-3*
paraY-m-30
; agregue 7 bytes para corregir: inserte|$a==$t
después777600))
.+$p
con+!$p
.pero esperaré un poco para ver si alguien más presenta antes de que me eche a perder.
fuente