เรื่องเล็ก ๆ น้อยนี้มีการแลกเปลี่ยนที่น่าสนใจดังต่อไปนี้:
"ดีเฟรด" Avi ขัดจังหวะ "แล้วคุณจะเปลี่ยนแปลงสิ่งนี้อย่างไรเพื่อหลีกเลี่ยงรายการที่ซ้ำกัน"
"โอ้แค่เปลี่ยนอันนั้นตรงนั้นเป็นลบ"
ในขณะที่การเรียกร้องนี้ไม่ถูกต้องในบริบทฉันสงสัยว่ามีบางรหัสที่เป็นไปได้ที่เหมาะสม
ความท้าทายของคุณคือการเขียนโค้ด (โปรแกรมฟังก์ชั่นอะไรก็ได้) ที่ตรงกับเกณฑ์นี้:
- ผสานรายการอินพุตสองรายการเข้าเป็นรายการเดียว [แก้ไข: คุณสามารถเลือกที่จะคิดว่ามันเป็นจำนวนเต็มและ / หรือรายการนั้นไม่ซ้ำกัน คุณไม่สามารถสรุปได้ว่าจำนวนเต็มนั้นเป็นค่าบวก (คำตอบเดียวที่เป็นแบบนี้คือปู่)]
- ตัวอักษร "1" ปรากฏขึ้นที่ใดที่หนึ่งในรหัส ถ้าคุณเปลี่ยนสิ่งนี้เป็นตัวอักษร "-1" รหัสจะทำสิ่งเดียวกัน แต่ลบที่ซ้ำกัน
- รหัสไม่ได้แยกสาขาออกจาก 1 / -1 เราไม่ได้มองหา
if (1 < 1) removeDuplicates()
หรือ[do_nothing, merge_with_dups, merge_without_dups][1].call()
ยกตัวอย่างเช่น
อินพุตและเอาต์พุตสามารถอยู่ในรูปแบบที่เหมาะสมที่คุณเลือก ตัวอย่างหนึ่งอาจจะเป็น
[1,2],[2,3]->[1,2,2,3]
ก่อนที่จะเปลี่ยนสัญลักษณ์และ[1,2,3]
หลัง
นี่คือการประกวดความนิยม มันไม่ใช่รหัสกอล์ฟเว้นแต่ว่าคุณต้องการที่จะอวด ฉันจะยอมรับคำตอบที่ได้รับคะแนนสูงสุดในประมาณสองสัปดาห์
-1
หรือไม่?