Para este desafío, necesita comprimir un diff. Una diferencia son algunos datos que representan la diferencia entre dos cadenas. Para este desafío, debe proporcionar uno o más programas que puedan:
- Entrada
A
yB
salida de un diff,C
- De entrada
A
yC
, y la salidaB
- De entrada
B
yC
, y la salidaA
El objetivo es hacer que la diferencia sea lo C
más pequeña posible. La diferencia puede ser cualquier cosa: una cadena, un número, una gota de datos. Solo nos importa el tamaño (número de bytes).
Tengo 50 casos de prueba que se pueden encontrar en Github . Cada caso de prueba consta de dos URL separadas por espacios que apuntan a los 2 archivos que necesita diferenciar. (Estos casos de prueba se originaron en los perfiles de Github de los miembros de PPCG. ¡Gracias a todos!)
Las tres tareas anteriores deberían tardar menos de un minuto en ejecutarse en una computadora con una potencia razonable (para cada caso de prueba).
Su puntaje es igual al tamaño total (en bytes) de las 50 diferencias, menor es mejor. No se permiten diferencias de codificación en su programa (me reservo el derecho de cambiar los casos de prueba para evitar la codificación). Las acumulaciones que producen un diff (como diffutils
) no están permitidas.
fuente
A
yB
Respuestas:
¿Es válida mi respuesta?
comprobable en: http://www.tutorialspoint.com/execute_tcl_online.php?PID=0Bw_CjBb95KQMNmd4QkxvQUFsTnM
fuente
diff
equivalentes comopatch
equivalentes). Si sestring compare
diferencian las cadenas, viola la regla de "no construir". Si solo compara cadenas (como sugiere su nombre), no deja suficiente información para recrear un parche.string compare
no genera información para crear una página, pero no hay lugar en la pregunta que lo solicite.