给定一个数组:
a = [1, 2, 3, 4, 5, 6]
我想在某个方向上i
旋转j
元素n
。因此,例如:
i = 2
j = 3
n = 1
旋转a
会产生:
new_a = [1, 2, 4, 3, 5, 6]
这就是我所拥有的:
def rotate_sub(a, i, j, n)
return a[0...i] + a[i..j].rotate(n) + a[j+1..-1]
end
有一个更好的方法吗?由于没有边界检查,i
或者j
很可能超出数组的范围。