Aby sprostać temu wyzwaniu, musisz skompresować różnicę. Różnica to niektóre dane reprezentujące różnicę między dwoma łańcuchami. Aby sprostać temu wyzwaniu, musisz zapewnić jeden lub więcej programów, które mogą:
- Wejście
A
iB
wyjście diff,C
- Wejście
A
iC
, i wyjścieB
- Wejście
B
iC
, i wyjścieA
Celem jest uczynienie różnicy C
możliwie najmniejszą. Różnica może być dowolna: ciąg, liczba, kropla danych. Dbamy tylko o rozmiar (liczbę bajtów).
Mam 50 przypadków testowych, które można znaleźć na Github . Każdy przypadek testowy składa się z dwóch oddzielonych spacjami adresów URL, które wskazują na 2 pliki, które należy różnicować. (Te przypadki testowe pochodzą z profili Github członków PPCG. Dziękujemy wszystkim!)
Wszystkie trzy powyższe zadania powinny zająć mniej niż minutę, aby uruchomić się na komputerze o rozsądnej mocy (dla każdego przypadku testowego).
Twój wynik jest równy całkowitemu rozmiarowi (w bajtach) wszystkich 50 różnic, im niższy, tym lepszy. Twarde kodowanie różnic w twoim programie jest niedozwolone (zastrzegam sobie prawo do zmiany przypadków testowych, aby zapobiec twardemu kodowaniu). Wbudowane, które wytwarzają różnice (podobne diffutils
) są niedozwolone.
A
iB