Pour ce défi, vous devez compresser un diff. Un diff est une donnée qui représente la différence entre deux chaînes. Pour ce défi, vous devez fournir un ou plusieurs programmes qui peuvent:
- Entrer
A
etB
, et sortir un diff,C
- Entrée
A
etC
, et la sortieB
- Entrée
B
etC
, et la sortieA
Le but est de rendre le diff C
, aussi petit que possible. La différence peut être n'importe quoi: une chaîne, un nombre, un blob de données. Nous nous soucions juste de la taille (nombre d'octets).
J'ai 50 cas de test qui peuvent être trouvés sur Github . Chaque scénario de test se compose de deux URL séparées par des espaces qui pointent vers les 2 fichiers que vous devez différencier. (Ces cas de test provenaient des profils Github des membres de PPCG. Merci à tous!)
Les trois tâches ci-dessus devraient prendre moins d'une minute pour s'exécuter sur un ordinateur raisonnablement alimenté (pour chaque cas de test).
Votre score est égal à la taille totale (en octets) des 50 différences, plus c'est bas, mieux c'est. Les différences de codage en dur dans votre programme ne sont pas autorisées (je me réserve le droit de modifier les cas de test pour empêcher le codage en dur). Les builtins qui produisent un diff (comme diffutils
) ne sont pas autorisés.
A
etB