Gegeben ein Integer-Array:
- Beginnen Sie mit der ersten Nummer
- N Positionen vorwärts springen, wobei n der Wert der aktuellen Position ist
- Löschen Sie die aktuelle Position und machen Sie die nächste Position zur aktuellen Position.
- Fahren Sie mit Schritt 2 fort, bis eine Nummer übrig ist
- Diese Nummer ausdrucken
Regeln
Das Array wird umbrochen (die nächste Zahl nach der letzten Zahl im Array ist die erste Zahl).
Eine Null entfernt sich (offensichtlich).
Negative Zahlen sind als Eingabe nicht zulässig.
Testfälle
[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
Beispiel Schritt für Schritt
[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
Beispiel # 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
Das ist Code-Golf , die kürzeste Antwort in Bytes gewinnt!