รับอาร์เรย์จำนวนเต็ม:
- เริ่มจากหมายเลขแรก
- กระโดดไปข้างหน้าตำแหน่ง n โดยที่ n คือค่าของตำแหน่งปัจจุบัน
- ลบตำแหน่งปัจจุบันทำให้ตำแหน่งถัดไปคือตำแหน่งปัจจุบัน
- ไปที่ขั้นตอนที่ 2 จนกระทั่งเหลืออีกหนึ่งหมายเลข
- พิมพ์หมายเลขนั้น
กฎระเบียบ
อาร์เรย์ล้อมรอบ (หมายเลขถัดไปหลังจากหมายเลขสุดท้ายในอาร์เรย์คือหมายเลขแรก)
ศูนย์ลบตัวเอง (เห็นได้ชัด)
ไม่อนุญาตให้ใช้จำนวนลบเป็นอินพุต
กรณีทดสอบ
[1] => 1
[1,2] => 1
[1,2,3] => 3
[1,2,2] => 1
[1,2,3,4] => 1
[6,2,3,4] => 4
[1,2,3,4,5] => 5
[0,1] => 1
[0,0,2,0,0] => 0
ตัวอย่างทีละขั้นตอน
[1,4,2,3,5]
^ start from the first position
^ jump 1 position (value of the position)
[1, 2,3,5] remove number in that position
^ take next position of the removed number (the 'new' 'current' position)
^ jump 2 positions
[1, 2,3 ] remove number in that position
^ take next position (looping on the end of the array)
^ jump 1 position
[1, 3 ] remove number in that position
^ take next position (looping)
^ jump 3 positions (looping on the end of the array)
[ 3 ] remove number in that position
print 3
ตัวอย่างที่ 2
[4,3,2,1,6,3]
^ start from the first position
^ jump 4 positions
[4,3,2,1, 3] remove number in that position
^ take next position
^ jump 3 positions
[4,3, 1, 3] remove number in that position
^ take next position
^ jump 1 positions
[4,3, 1 ] remove number in that position
^ take next position
^ jump 4 positions
[4, 1 ] remove number in that position
^ take next position
^ jump 1 position
[ 1 ] remove number in that position
print 1
นี่คือcode-golfคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ!