คำถามแรกที่นี่อย่าตะโกนใส่ฉันถ้านี่เป็นเรื่องที่ท้าทายหรือไม่ดี
บทนำ
ฉันคิดถึงความท้าทายนี้และดูเหมือนว่าจะเป็นปริศนาพื้นฐานที่ดีสำหรับนักกอล์ฟมือใหม่ มันอาจช่วยฉันในการตัดสินใจว่าจะเรียนภาษาไหน
ท้าทาย
ได้รับอาร์เรย์ของจำนวนเต็มที่น้อยกว่าหรือเท่ากับการส่งออกหรือกลับจำนวนขั้นต่ำของตัวเลขจากอาร์เรย์ว่าผลรวมถึงว่าn
n
คุณสามารถเลือกที่จะเขียนฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบ
อินพุต
0 <= n < 2^31
คุณได้อย่างปลอดภัยสามารถสันนิษฐานได้ว่า
ใช้อาร์เรย์หรือรายการใด ๆ ( vector
สำหรับ C ++ หรือ Java LinkedList
ที่ได้รับอนุญาต) พร้อมด้วยn
และพารามิเตอร์ที่เป็นตัวเลือกlength
ซึ่งระบุความยาวของอาร์เรย์
คุณยังสามารถรับอินพุตเป็นสตริงที่n
คั่นด้วยช่องว่างโดยคั่นด้วยเครื่องหมายจุลภาคหรือช่องว่าง:
1 5 7 3 7 3 6 3 2 6 3,10
1 5 7 3 7 3 6 3 2 6 3 10
ถ้ามันง่ายกว่า
เอาท์พุต
n
การส่งออกหรือกลับจำนวนขั้นต่ำของตัวเลขจากอาร์เรย์ว่าผลรวมถึงว่า ใช้ตัวอย่างข้างต้น:
1 5 7 3 7 3 6 3 2 6 3,10
โปรแกรมของคุณควรพิมพ์:
2
เพราะจำนวนขั้นต่ำของจำนวนที่รวม10
เป็น2
( 7
และ3
)
ในกรณีที่ไม่มีวิธีแก้ไขให้พิมพ์หรือส่งคืนค่าลบ, 0
"ไม่มีวิธีแก้ปัญหา" (แม้ว่าจะไม่ใช่วิธีที่ฉลาด), ∞
(ตามที่แนะนำ) หรือค่าเท็จอื่น ๆ ยกเว้นสตริงว่าง
ตัวอย่างอินพุตและเอาต์พุต
การป้อนข้อมูล:
1 5 7 3 7 3 6 3 2 6 3,10
143 1623 1646 16336 1624 983 122,18102
5 6 9,12
เอาท์พุท:
2
3
-1
เกณฑ์การให้คะแนน
นี่คือ code-golf ดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
คำตอบยอดนิยมจะได้รับการยอมรับในวันคริสต์มาส
false
กรณีที่ไม่มีวิธีแก้ปัญหาได้หรือไม่