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

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

[[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は病気の予防に役立つ

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

推薦する

...

人工知能について知っておくべきことすべて

人工知能とは何でしょうか? この質問に対する答えは、誰に尋ねるかによって異なります。 1950 年代...

センスタイムは香港証券取引所に上場し、最悪の時期から脱却した。

【51CTO.comオリジナル記事】著者: 張傑本日2021年12月30日、SenseTimeの2...

ニュースローン賞受賞者 宋 樹蘭: 視覚の観点からロボットの「目」を構築する

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

低品質の AIGC コンテンツがインターネット エコシステムに溢れかえれば、エコシステムは破壊されてしまいます。

少し前、ChatGPT は突然人気を博し、ユーザーベースが急速に増加しました。多くの人が「生成 AI...

TensorRT が顔認識を高速化する方法

[[329844]]顔認識のリアルタイム パフォーマンスを向上させるために、私たちのチームは従来のニ...

Metaはオープンソースのビッグモデルを緩和し、開発者が商用利用で利益を得られるよう検討していると報じられている。

6月16日、MetaのCEOマーク・ザッカーバーグ氏とその代理人は、Metaが開発中の新しい人工知...

...

IoTの未来が機械学習に依存する理由

モノのインターネットは膨大な量のデータを生成します。そのデータは、都市が事故や犯罪を予測するのに役立...

生産効率が50%アップ!ファーウェイはAI機能を活用して大東コイルのデジタル変革を推進し、コスト削減と効率向上に貢献している。

デジタル変革は、現在の企業、特にハイテクの伝統的な製造業の主なテーマとなっています。人工知能、クラウ...

機械学習に効果的なデータを取得する方法 小さなデータを扱うための 7 つのヒント (一読の価値あり)

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

自動運転と安全性の「距離」

4月15日、2021年上海モーターショー前夜、ファーウェイは自動運転システムADSのプロモーション...

...

タオバオの推奨シナリオのための強力なツール:複雑な目的を統合し、リアルタイムの規制をサポートする再注文モデル

1. 情報フローシナリオの課題と並べ替えモデルの独自の利点多くの学生は再ランキングに馴染みがないかも...