รับรายการที่ไม่ว่างของจำนวนเต็มบวก , งานของคุณคือการกำหนดจำนวนค่าที่ไม่ซ้ำของ± x ± y ± z ± …
ตัวอย่างเช่นพิจารณารายการ ) มีวิธีที่เป็นไปได้แปดวิธีในการสร้างผลรวม:
มีหกจำนวนเงินที่ไม่ซ้ำกันดังนั้นคำตอบคือ6
กรณีทดสอบ
[1, 2] => 4
[1, 2, 2] => 6
[s]*n => n+1
[1, 2, 27] => 8
[1, 2, 3, 4, 5, 6, 7] => 29
[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] => 45
[1, 7, 2, 8, 3, 1, 6, 8, 10, 9] => 56
[93, 28, 92, 100, 43, 66, 2, 98, 2, 52, 57, 75, 39, 77, 45, 15, 13, 82, 81, 20, 68, 14, 5, 3, 72, 56, 57, 1, 23, 25, 76, 59, 60, 71, 71, 24, 1, 3, 72, 84, 72, 28, 83, 62, 66, 45, 21, 28, 49, 57, 70, 3, 44, 47, 1, 54, 53, 56, 36, 20, 99, 9, 89, 74, 1, 14, 68, 47, 99, 61, 46, 26, 69, 21, 20, 82, 23, 39, 50, 58, 24, 22, 48, 32, 30, 11, 11, 48, 90, 44, 47, 90, 61, 86, 72, 20, 56, 6, 55, 59] => 4728
โซลูชันอ้างอิง (ปรับให้เหมาะสมสำหรับความเร็วและไม่ปรับขนาด)
หากคุณไม่สามารถจัดการกับกรณีสุดท้ายเพราะคุณใช้วิธีการดุร้ายหรือคล้ายกันนั่นเป็นเรื่องปกติ
เกณฑ์การให้คะแนน
นี่คือรหัสกอล์ฟดังนั้นวิธีแก้ปัญหาที่สั้นที่สุดที่ถูกต้อง (วัดเป็นไบต์) ชนะ
[2,2,2,2,...]
) คำตอบควรเป็นความยาวของอาเรย์ + 1 เพราะในกรณีนี้ตำแหน่งของสัญญาณไม่เกี่ยวข้องและมีเพียงจำนวนของแต่ละเรื่อง