問題
要素がn個の配列を左方向にi要素分回転させる
例)012345 を 3つずらして 345012 にする
n: 6
i: 3
処理前 |0|1|2|3|4|5|
処理後 |3|4|5|0|1|2|
考え方
# 定義
a : 0〜i要素分(012)
b : 残り(345)
a': aの逆転(210)
b': bの逆転(543)
# 流れ
1. ab : 012345
2. a'b : 210345 // reverse(0, i-1)
3. a'b' : 210543 // reverse(i, n-1)
4. (a'b')': 345012 // reverse(0, n-1)
参考書籍
珠玉のプログラミング 本質を見抜いたアルゴリズムとデータ構造
https://amzn.to/3N5mMTI