对于此挑战,您需要压缩差异。 diff是一些数据,表示两个字符串之间的差异。 面对这一挑战,您需要提供一个或多个程序,这些程序可以:
- 输入
A
和B
,并输出差异,C
- 输入
A
和C
,并输出B
- 输入
B
和C
,并输出A
目标是使diff C
尽可能小。 差异可以是任何东西:字符串,数字,数据块。我们只关心大小(字节数)。
我有50个可以在Github上找到的测试用例。每个测试用例包含两个以空格分隔的URL,这些URL指向您需要比较的2个文件。(这些测试用例源自PPCG成员的Github个人资料。谢谢!)
上面的所有三个任务应该在一分钟内才能在具有适当功能的计算机上运行(针对每个测试用例)。
您的分数等于所有50个差异的总大小(以字节为单位),越低越好。不允许在程序中进行硬编码差异(我保留更改测试用例的权利,以防止硬编码)。diffutils
不允许产生差异的内建函式(例如)。
4
diff到底是什么?
—
科纳·奥布莱恩
您想要的一切,真的。通俗地说,它是一个字符串,代表之间的差异
—
弥敦道美林
A
和B
更多链接腐烂:用1基线索引为测试用例对编号;两对测试用例3、13、14、15、16、17、18、19、20、21都是404。在这些测试用例之外,我设法检索了所有其他用例。
—
H Walters
我正在关闭这个问题,因为它基本上没有答案,而且我用作测试用例的许多旧链接也不再起作用。随时更新问题并根据需要重新打开。
—
内森·美林
做完了 GIST是gist.github.com/sethhillbrand/64066935e3f8c0fac75d75edd43c9ef8 。第二个文件是剩余的40对测试用例的uuencoded存档。
—
赛斯