日常アルゴリズムのパスの合計について話す

日常アルゴリズムのパスの合計について話す

[[426794]]

この記事はWeChatの公開アカウント「3分でフロントエンドを学ぶ」から転載したもので、著者はsisterAnです。この記事を転載する場合は、「3分で学ぶフロントエンド」公式アカウントまでご連絡ください。

木の基礎については、こちらをご覧ください: 初心者のための木

バイナリ ツリーとターゲットの合計が与えられた場合、ツリー内のルート ノードからリーフ ノードへのパスが存在するかどうか、およびこのパス上のすべてのノード値の合計がターゲットの合計と等しいかどうかを判断します。

注: リーフ ノードは子ノードを持たないノードです。

例: 次の二分木があり、目標の合計が 22 の場合、

  1. 5
  2. / \
  3. 4 8
  4. // \
  5. 11 13 4
  6. / \ \
  7. 7 2 1

ルート ノードからリーフ ノードへのパス 5->4->11->2 があり、ターゲットの合計が 22 であるため、true を返します。

解決:

ツリー全体を横断するだけ

現在のノードがリーフ ノードでない場合は、そのすべての子ノードを再帰的に処理し、渡されるパラメーターは合計から現在のノード値を引いた値になります。

現在のノードがリーフ ノードの場合、パラメーターの合計が現在のノード値と等しいかどうかを判断します。等しい場合は true を返し、そうでない場合は false を返します。

コード実装:

  1. var hasPathSum =関数(ルート、合計) {
  2. // ルートノードは空です
  3. (ルート === null )の場合、戻り値 間違い;
  4.    
  5. // リーフノードと合計パラメータはリーフノードの値に等しい
  6. root.left === null && root.right === nullの場合 root.val === sumを返します
  7.  
  8. // 合計から現在の値を減算し、再帰します
  9. 合計=合計- ルート.val
  10. hasPathSum(root.left , sum ) || hasPathSum(root.right , sum )を返します
  11. };

解決:

ツリー全体を横断するだけ

  • 現在のノードがリーフ ノードでない場合は、そのすべての子ノードを再帰的に処理し、渡されるパラメーターは合計から現在のノード値を引いた値になります。
  • 現在のノードがリーフ ノードの場合、パラメーターの合計が現在のノード値と等しいかどうかを判断します。等しい場合は true を返し、そうでない場合は false を返します。

コード実装:

  1. var hasPathSum =関数(ルート、合計) {
  2. // ルートノードは空です
  3. (ルート === null )の場合、戻り値 間違い;
  4.    
  5. // リーフノードと合計パラメータはリーフノードの値に等しい
  6. root.left === null && root.right === nullの場合 root.val === sumを返します
  7.  
  8. // 合計から現在の値を減算し、再帰します
  9. 合計=合計- ルート.val
  10. hasPathSum(root.left , sum ) || hasPathSum(root.right , sum )を返します
  11. };

リートコード: https://leetcode-cn.com/problems/path-sum/solution/javascript-lu-jing-zong-he-by-user7746o/

<<:  2022 年の優れたインテリジェント オートメーションのトレンドと予測

>>:  予想外?今年の建国記念日に最も多く目にするのはドローンかもしれません!

ブログ    
ブログ    
ブログ    

推薦する

将来、仕事はロボットに置き換えられるのでしょうか?専門家:現段階ではまだ困難はあるものの、人工知能は人々をより自由にするだろう

3月23日(北京特派員 柯李)冬季オリンピックの水中聖火リレーを完走するロボットから、冬季パラリンピ...

...

...

中国人工知能産業発展連盟メディアプロジェクトグループが設立され、51CTOは連盟の最初の専門メディアの1つになりました。

中国人工知能産業発展連盟メディアプロジェクトグループの設立会議が2018年1月25日に北京で開催され...

...

...

人間に匹敵します!世界初のAI水墨画アーティスト、ジェミニがフリーハンドで中国画を描く

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

AI時代になっても、あなたのキャリアは存続できるでしょうか?

人工知能(AI)技術はどこまで発展したのでしょうか? [[278665]]将来、AIが社会に本格的に...

人工知能とデータサイエンスに基づく実用的な分析システムの構築におけるシティバンクの実践経験

シティバンクは、人工知能とデータサイエンスに基づいた実用的な分析システムをどのように構築したのでしょ...

...

グーグルが倫理学者を解雇してから3か月後、AI倫理研究会議はグーグルのスポンサーシップを停止した。

[[386762]]ビッグデータダイジェスト制作出典: ベンチャービート編集:赤道のパンダACM ...

人体の中で自由に動くロボット:柔軟でしなやか、毛細血管まで

[[408943]] 7月1日のニュースによると、最近、ヨーロッパの大学の中国の科学者は、シート状の...

自動運転のジレンマと選択

ここ数年、自動運転車に対する熱狂が高まっています。これは確かに合理的です。自動運転車は、燃費の向上、...