毎日のアルゴリズム: 回転マトリックス

毎日のアルゴリズム: 回転マトリックス

[[431855]]

各ピクセルのサイズが 4 バイトである N × N 行列で表される画像が与えられます。画像を 90 度回転させるアルゴリズムを設計してください。

余分なメモリスペースを占有せずにこれを行うことは可能ですか?

例1:

  1. 与えられた行列 =
  2. [
  3. [1,2,3],
  4. [4,5,6],
  5. [7,8,9]
  6. ]、
  7.  
  8. 入力行列をその場で回転して次のようになります。
  9. [
  10. [7,4,1],
  11. [8,5,2],
  12. [9,6,3]
  13. ]

例2:

  1. 与えられた行列 =
  2. [
  3. [5, 1, 9,11],
  4. [ 2, 4, 8,10],
  5. [13、3、6、7]、
  6. [15,14,12,16]
  7. ]、
  8.  
  9. 入力行列をその場で回転して次のようになります。
  10. [
  11. [15,13,​​ 2, 5],
  12. [14, 3, 4, 1],
  13. [12、6、8、9]、
  14. [16, 7,10,11]
  15. ]

アイデア: 対角線上に反転してから、行ごとに反転します

  1. [
  2. [1,2,3],
  3. [4,5,6], =>
  4. [7,8,9]
  5. ]
  6.  
  7. [
  8. [1,4,7],
  9. [2,5,8], =>
  10. [3,6,9]
  11. ]
  12.  
  13. [
  14. [7,4,1],
  15. [8,5,2], =>
  16. [9,6,3]
  17. ]
  1. /**
  2. * @param {number[][]} 行列
  3. * @return {void}しないでください 何も返さない場合は代わりにその場行列を変更します
  4. */
  5. var rotate =関数(行列) {
  6. 定数 n = 行列の長さ;
  7. //対角反転 0,0 n-1,n-1
  8. ( i = 0; i < n; i++ とします) {
  9. (j = 0; j < i; j++)の場合{
  10. swap(行列、[i, j]、[j, i]);
  11. }
  12. }
  13.  
  14. //センターラインを左右反転する
  15. ( i = 0; i < n; i++ とします) {
  16. (j = 0; j < n / 2; j++)の場合{
  17. swap(行列、[i, j]、[i, n - 1 - j]);
  18. }
  19. }
  20.  
  21. 関数swap(行列、[x1, y1]、[x2, y2]) {
  22. 定数tmp = 行列[x1][y1];
  23. 行列[x1][y1] = 行列[x2][y2];
  24. 行列[x2][y2] = tmp;
  25. }
  26. };

リートコード: https://leetcode-cn.com/problems/rotate-matrix-lcci

<<:  AIは病気の予防に役立つ

>>:  機械翻訳:人工知能分野の重要な中核技術

ブログ    

推薦する

【WOT2018】孫林:テクノロジーが業界を変える。貝殻探しビジネスにおけるAIの応用

[51CTO.comより引用] 2018年5月18日〜19日、51CTO主催のグローバルソフトウェア...

150億のパラメータを持つ、史上最大のビジュアルモデル「V-MoE」の全コードをGoogleがオープンソース化

昨年 6 月に Google Brain チームが発表した 43 ページの論文「Scaling Vi...

データ保護にはAIベースのセキュリティ戦略が必要

回答者の半数だけが、自社のデータセキュリティ戦略が AI の発展に追いついていると答えました。さらに...

LSTM ニューラルネットワークを使用して株価の動向を予測する

[[434750]] Python 中国語コミュニティ (ID: python-china) LST...

人工知能とは何かについて10分ほどお話ししましょう。

1999年、ハリウッドSF映画史上最も重要なSF映画『マトリックス』が公開されました。この映画は、...

ABCの中でビッグデータが最初に遅れをとる理由

[[211451]]人工知能 (AI)、ビッグデータ、クラウドコンピューティングは、今日のインターネ...

...

IDC: 人工知能への世界的支出は4年で倍増すると予想

IDC グローバル人工知能支出ガイドによると、世界の人工知能 (AI) 関連の支出は、今後 4 年間...

Amazon Web Services は、5 つのステップで企業の生成 AI の実現を支援します。

アマゾンのCEO、アンディ・ジャシー氏はかつて、アマゾン ウェブ サービスの目標は、誰もが大企業と同...

MITの中国人博士課程学生がChatGPTをJupyterに移行し、自然言語プログラミングをワンストップソリューションに

自然言語プログラミングは Jupyter で直接実行できます。 MIT の中国人博士課程の学生によっ...

機械学習は言語から意味を抽出するのにまだ苦労している

私たちは幼児期から言語を吸収し始めます。簡単な単語は1年目か2年目に出てきます。 6 歳までに語彙は...

複数の都市が共同で人工知能コンピューティングネットワークを点灯し、人工知能産業の発展を促進する

Huawei Connect 2021では、中国科学技術情報研究所(CITI)、AITISA(新世代...

...

組み込み物流ロボットの用途は何ですか?

ネットワーク技術やグリッドコンピューティングの発展により、組み込み型モバイル機器を中核とした「ユビキ...