行または列のいずれかでデータを簡単に「回転」できるようにするデータの 2 次元配列を保存したいと思います。
たとえば、次の初期状態を考えます。
A B C D
E F G H
I J K L
M N O P
データの 3 番目 ('C') 列を +2 だけ「回転」させたい場合、結果は次のようになります。
A B K D
E F O H
I J C L
M N H P
次に、2 番目 ('E') 行を -1 だけ「回転」させたい場合、結果は次のようになります。
A B K D
F O H E
I J C L
M N H P
基になるデータを行の配列または列の配列のいずれかとして格納することにより、行または列のいずれかで回転する効率的な手段を有効にする方法を想像できますが、両方を実行できると、回転の手段が 1 つになる可能性があります。各アレイで順番に操作を実行する必要があるため、効率が大幅に低下します。
繰り返しになりますが、この種の問題をこれまで解決しようとしたことがないため、明らかな何かが欠けている可能性があります。