Considere uma data formatada em YYYY-MM-DD
. Você pode usar o curinga *
no final da sequência de datas. Por exemplo, 2016-07-2*
descreve todas as datas de 2016-07-20
até 2016-07-29
.
Agora, considere um período representado por uma data de início e uma data de término.
O algoritmo deve encontrar a menor lista possível de datas que representam o período.
Vamos usar um exemplo. Pelo período seguinte:
- data de início:
2014-11-29
- data final:
2016-10-13
O algoritmo deve retornar uma matriz contendo a seguinte lista de datas:
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
Respostas:
PHP,
541343 bytesEu queria que o algoritmo funcionasse em primeiro lugar; mas jogar golfe foi realmente muito mais divertido do que eu esperava (principalmente navegando nos formatos de data e hora compatíveis ).
Três ações principais salvaram cerca de 130 bytes; mas os 70 bytes de golfe menor
(que também tornavam obsoletos um dos grandes degraus) eram muito divertidos.
recebe entrada dos argumentos da linha de comando. Execute
-nr
ou teste on-line .notas
Y-m-3*
paraY-m-30
; adicione 7 bytes para corrigir: Insira|$a==$t
depois777600))
.+$p
por+!$p
.mas vou esperar um pouco para ver se alguém mais envia antes que eu estrague.
fonte