我想旋转一个数组,以便给定索引处的元素位于中间。假设我有:
[0, 1, 2, 3, 4]
以索引4
为中心会产生:
[2, 3, 4, 0, 1]
以索引0
为中心会产生:
[3, 4, 0, 1, 2]
答案 0 :(得分:6)
Array#rotate
是你的朋友:
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]