2017-11-09 4 views
-1

Ich möchte ein Array so drehen, dass das Element am angegebenen Index in der Mitte kommt. Lassen Sie uns sagen, ich habe:Wie kann ich ein Array auf einen bestimmten Index zentrieren?

[0, 1, 2, 3, 4] 

bei Index Zentrieren 4 produzieren würde:

[2, 3, 4, 0, 1] 

bei Index Zentrieren 0 produzieren würde:

[3, 4, 0, 1, 2] 
+1

Was ist mit geradzahligen Arrays? Was wird als Mittelpunkt für ein Array mit 2n Länge angesehen? – marmeladze

+0

@marmeladze yep Sie nennen es, Zentrierung ist nicht der genaueste Begriff deshalb habe ich es im Zitat gesagt. aber Sie könnten die Idee bekommen – Ben

Antwort

6

Array#rotate ist dein Freund:

arr = [0,1,2,3,4] 
arr.rotate(4 - arr.size/2) 
#⇒ [2,3,4,0,1] 
arr.rotate(0 - arr.size/2) 
#⇒ [3,4,0,1,2] 
Verwandte Themen