与えられた配列:
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
配列の境界外にある可能性が非常に高いためです。