Per questa sfida, è necessario comprimere un diff. Un diff è alcuni dati che rappresentano la differenza tra due stringhe. Per questa sfida, è necessario fornire uno o più programmi in grado di:
- Input
A
eB
, e output a diff,C
- Input
A
eC
, e l'uscitaB
- Input
B
eC
, e l'uscitaA
L'obiettivo è rendere il diff C
, il più piccolo possibile. Il diff può essere qualsiasi cosa: una stringa, un numero, una massa di dati. Ci preoccupiamo solo della dimensione (numero di byte).
Ho 50 casi di test che si possono trovare su Github . Ogni caso di test è costituito da due URL separati da spazio che indicano i 2 file che devi diff. (Questi casi di test hanno avuto origine dai profili Github dei membri PPCG. Grazie a tutti!)
Tutte e tre le attività sopra descritte dovrebbero richiedere meno di un minuto per essere eseguite su un computer con alimentazione ragionevole (per ogni caso di test).
Il tuo punteggio è uguale alla dimensione totale (in byte) di tutti i 50 diff, più basso è meglio. Le differenze di hardcoding nel tuo programma non sono consentite (mi riservo il diritto di modificare i casi di test per evitare hardcoding). I builtin che producono un diff (come diffutils
) non sono ammessi.
A
eB