เขียนฟังก์ชั่นที่รับในรายการจำนวนเต็มบวกและส่งคืนรายการจำนวนเต็มโดยประมาณเปอร์เซ็นต์ของผลรวมสำหรับจำนวนเต็มที่สอดคล้องกันในตำแหน่งเดียวกัน
จำนวนเต็มทั้งหมดในรายการส่งคืนต้องบวกได้สูงสุด 100 คุณสามารถถือว่าผลรวมของจำนวนเต็มที่ส่งผ่านมีค่ามากกว่า 0 วิธีที่คุณต้องการปัดเศษทศนิยมหรือตัดทอนจะขึ้นอยู่กับคุณตราบใดที่จำนวนเต็มส่งกลับเป็นเปอร์เซ็นต์ ปิดไม่เกิน 1 ในทั้งสองทิศทาง
p([1,0,2]) -> [33,0,67] or [34,0,66]
p([1000,1000]) -> [50,50]
p([1,1,2,4]) -> [12,12,25,51] or [13,12,25,50] or [12,13,25,50] or [12,12,26,50]
p([0,0,0,5,0]) -> [0,0,0,100,0]
นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!
p([2,2,2,2,2,3])
ผมขอแนะนำให้คุณเพิ่มกรณีทดสอบอื่น: มีคำตอบทางกฎหมายที่เป็นไปได้มากมาย แต่ไม่2
สามารถแมปทั้งหมดให้เป็นค่าเดียวกันได้ วิธีนี้ช่วยลดอัลกอริธึมที่ง่ายเกินไปที่ใช้กับกรณีทดสอบก่อนหน้านี้ทั้งหมดเนื่องจากการปัดเศษไม่ได้เลวร้ายเกินไป
p([1000,1000]) -> [49,51]
ไหม