สำหรับความท้าทายนี้คุณจะต้องบีบอัดดิฟ diff เป็นข้อมูลบางอย่างที่แสดงถึงความแตกต่างระหว่างสองสาย สำหรับความท้าทายนี้คุณต้องจัดหาโปรแกรมอย่างน้อยหนึ่งโปรแกรมที่สามารถ:
- อินพุท
A
และB
และเอาท์พุทดิฟC
- อินพุท
A
และC
และเอาท์พุทB
- อินพุท
B
และC
และเอาท์พุทA
เป้าหมายคือสร้างความแตกต่างC
เล็กที่สุดเท่าที่จะทำได้ diff สามารถเป็นอะไรก็ได้: สตริงตัวเลขจำนวนหยดของข้อมูล เราแค่แคร์เรื่องขนาด (จำนวนไบต์)
ฉันมี 50 กรณีทดสอบที่สามารถพบได้บน Github แต่ละกรณีทดสอบประกอบด้วย URL ที่คั่นด้วยช่องว่างสองจุดซึ่งชี้ไปที่ไฟล์ 2 ไฟล์ที่คุณต้องการแตกต่างกัน (กรณีทดสอบเหล่านี้มีต้นกำเนิดมาจากโปรไฟล์ Github ของสมาชิก PPCG ขอบคุณทุกคน!)
งานทั้งสามอย่างข้างต้นควรใช้เวลาไม่ถึงนาทีในการทำงานบนคอมพิวเตอร์ที่ได้รับพลังงานพอสมควร (สำหรับแต่ละกรณีทดสอบ)
คะแนนของคุณเท่ากับขนาดทั้งหมด (เป็นไบต์) ของทั้ง 50 diffs ต่ำกว่าดีกว่า ไม่อนุญาตให้ใช้ Hardcoding ในโปรแกรมของคุณ (ฉันขอสงวนสิทธิ์ในการเปลี่ยนแปลงกรณีทดสอบเพื่อป้องกันการเข้ารหัส) diffutils
ไม่อนุญาตให้สร้างบิวอินที่ต่างกัน (เหมือน)
A
และB