Cho một mảng Integer:
- Bắt đầu từ số đầu tiên
- Nhảy về phía trước n vị trí trong đó n là giá trị của vị trí hiện tại
- Xóa vị trí hiện tại, làm cho vị trí tiếp theo là vị trí hiện tại.
- Đi đến bước 2 cho đến khi còn một số
- In số đó
Quy tắc
Mảng kết thúc xung quanh (số tiếp theo sau số cuối cùng trong mảng là số đầu tiên).
Một số không loại bỏ chính nó (Rõ ràng).
Số âm không được phép làm đầu vào.
Các trường hợp thử nghiệm
[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
Ví dụ từng bước
[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
Ví dụ # 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
Đây là code-golf , câu trả lời ngắn nhất trong byte thắng!