如何将数组居中于特定索引?

时间:2017-11-09 12:38:44

标签: arrays ruby

我想旋转一个数组,以便给定索引处的元素位于中间。假设我有:

[0, 1, 2, 3, 4]

以索引4为中心会产生:

[2, 3, 4, 0, 1]

以索引0为中心会产生:

[3, 4, 0, 1, 2]

1 个答案:

答案 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]