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

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

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

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

ブログ    
ブログ    
ブログ    

推薦する

超人工知能を巡る究極の議論 ― 人間とどう共存するか?それとも人類に対する完全な脅威でしょうか?

[[386332]] 1950 年代に、SF 作家のフレドリック・ブラウンは超知能機械についての物...

飛んでくる花穂は人々を不安にさせますが、人と機械の組み合わせで不安を防ぐことができます!

「霧深い春の朝、緑の枝に雪の結晶が舞い散る。」さあ、また雪のように雪の結晶が舞い散る季節がやってき...

...

年末総括|2020年日本におけるAI(ロボティクス)分野の主なニュースを振り返る

在庫がなければ大晦日もありません。 2020年に日本のAI・ロボティクス分野で起こった出来事をいくつ...

超大型モデルの登場でAIはゲームオーバーになるのか?ゲイリー・マーカス:道は狭くなっている

最近、人工知能技術は大規模モデルにおいて飛躍的な進歩を遂げています。昨日、Google が提案した ...

...

企業に利益をもたらす 5 つの AI トレンド

市場の状況がますます複雑化する今日の不安定なビジネス環境では、組織が分析に基づく意思決定を行うために...

ITリーダーが避けるべき6つのGenAIの落とし穴

OpenAI が最近発表した ChatGPT のカスタム バージョンにより、あらゆる企業が GenA...

AIと分析がIoT収益化の鍵となる理由

通信業界は現在、競争力を維持するために IoT を収益化するという厳しい課題に直面しており、高度なテ...

銀行の二重生体認証実験:二重のトラブルか二重のセキュリティか?

2つの生体認証技術は顔認証と指紋認証です。実験では、両方ともモバイルデバイスを通じて実装され、2つ...

人工知能が「怠け者」社員147人を解雇、「労働者」は追い詰められている

人工知能やロボットがSF小説に登場して以来、人類は人工知能と共存する未来社会に不安を抱いてきた。映画...

...

...

...