ที่เกี่ยวข้อง แต่ต้องใช้จำนวนเต็มบวกเท่านั้นและไม่จำเป็นต้องสลับกัน
ฟังก์ชั่นการจับคู่ต้นเสียงอธิบายไว้ในบทความวิกิพีเดียนี้ โดยพื้นฐานแล้วมันคือการดำเนินการเช่นนั้นเมื่อนำไปใช้กับค่าสองค่า X และ Y ค่าหนึ่งสามารถรับค่าดั้งเดิม X และ Y ที่ให้ผลลัพธ์
งานของคุณคือการออกแบบฟังก์ชั่นที่สอง: หนึ่งที่มีประสิทธิภาพและมีประสิทธิภาพอื่นX, Y -> Z
ๆ Z -> X, Y
นี่คือการจับ: X, Y -> Z
จะต้องสลับกัน ซึ่งหมายความว่าZ -> X, Y
จะไม่สามารถที่จะตรวจสอบถ้าใส่เป็นหรือX, Y
Y, X
คำจำกัดความที่เป็นทางการของความท้าทายนี้คือ:
เลือกชุดตัวเลข S ที่ไม่มีที่สิ้นสุดนับได้
ออกแบบสองฟังก์ชั่นที่ทำงานต่อไปนี้:
- รับค่าคู่ที่ไม่เรียงลำดับใน S ส่งคืนค่าใน S
- รับค่าส่งคืนจากฟังก์ชันเริ่มต้นคืนค่าคู่ที่ไม่เรียงลำดับซึ่งประเมินค่าเป็นจำนวนเต็มอินพุตเมื่อส่งผ่านฟังก์ชันแรก ฉันไม่สนใจเกี่ยวกับพฤติกรรมของฟังก์ชันผกผันนี้ถ้าอินพุตไม่ใช่ค่าส่งคืนจากฟังก์ชันแรก
ความต้องการ
- ผลลัพธ์ควรเหมือนกันระหว่างการวิ่ง
{a, a}
เป็นคู่ที่ไม่มีลำดับ
หมายเหตุ: คำตอบของคุณมีแนวโน้มที่จะได้รับ upvote จากฉันถ้าคุณให้หลักฐาน แต่ฉันจะทดสอบคำตอบเมื่อฉันได้รับมันและ upvote เมื่อฉันค่อนข้างแน่ใจว่ามันทำงาน
1,2
เป็นหนึ่งในคู่1,3
ยังสามารถเป็นคู่ที่มีศักยภาพ (ทั้งใช้1
)?
f
และสิ่งที่ตรงกันข้ามg
, sorted((x, y))
ควรจะเป็นเช่นเดียวกับsorted(g(f(x, y)))