[解決済み] 2次元の配列を回転させる方法は?
2022-03-17 09:23:37
質問
インスパイアード・バイ Raymond Chenさんの投稿 4x4 の 2 次元配列があるとすると、それを 90 度回転させる関数を書いてください。Raymondは疑似コードで解決策にリンクしていますが、私は実際のものを見てみたいです。
[1][2][3][4]
[5][6][7][8]
[9][0][1][2]
[3][4][5][6]
になる。
[3][9][5][1]
[4][0][6][2]
[5][1][7][3]
[6][2][8][4]
更新情報 : Nickの回答が一番わかりやすいのですが、n^2よりいい方法はないでしょうか?行列が10000x10000だったらどうでしょうか?
どのように解決するのですか?
以下はC#の場合です。
int[,] array = new int[4,4] {
{ 1,2,3,4 },
{ 5,6,7,8 },
{ 9,0,1,2 },
{ 3,4,5,6 }
};
int[,] rotated = RotateMatrix(array, 4);
static int[,] RotateMatrix(int[,] matrix, int n) {
int[,] ret = new int[n, n];
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
ret[i, j] = matrix[n - j - 1, i];
}
}
return ret;
}
関連
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] 配列の結合/平坦化
-
[解決済み] 多次元配列の値によるソート方法
-
[解決済み] JavaScriptで2次元の配列を作成するにはどうすればよいですか?
-
[解決済み] 2次元配列の定義方法は?
-
[解決済み] nからk個の要素の組み合わせをすべて返すアルゴリズム
-
[解決済み] Javaで2次元の配列を作成するためのシンタックス
-
[解決済み] Pythonで2次元配列を初期化する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] スライス表記を理解する
-
[解決済み] 末尾再帰とは何ですか?
-
[解決済み] GenerativeアルゴリズムとDiscriminativeアルゴリズムの違いは何ですか?[クローズド]
-
[解決済み] クレジットカードの番号からカードの種類を判別する方法は?
-
[解決済み] コンピュータサイエンスにおけるNP完全とは何ですか?
-
[解決済み】広さ優先と深さ優先の比較
-
[解決済み] サイクルリンクリストのサイクル開始ノードを見つけるにはどうしたらいいのでしょうか?
-
[解決済み] DijkstraのアルゴリズムとA-Starの比較は?
-
[解決済み] アマゾンのレコメンデーション機能の仕組み
-
[解決済み] 光の周波数をRGBに変換する?