この記事はWeChatの公開アカウント「3分でフロントエンドを学ぶ」から転載したもので、著者はsisterAnです。この記事を転載する場合は、「3分で学ぶフロントエンド」公式アカウントまでご連絡ください。 木の基礎については、こちらをご覧ください: 初心者のための木 バイナリ ツリーが与えられた場合、ツリー内の指定された 2 つのノードの最下位の共通祖先を見つけます。 Baidu 百科事典では、LCA を次のように定義しています。「ルート付きツリー T 内の 2 つのノード p と q の場合、LCA は、x が p と q の両方の祖先であり、x の深さが可能な限り大きいノード x です (ノードはそれ自身の祖先になることもできます)。」 たとえば、次の二分木があるとします: root = [3,5,1,6,2,0,8,null,null,7,4] 例1:
例2:
例:
答え: 再帰実装 解決: ツリーが空のツリーであるか、p または q のいずれかのノードがルート ノードである場合、p と q の最も近い共通ノードがルート ノードになります。 そうでない場合、つまりバイナリ ツリーが空のツリーではなく、p と q がルート以外のノードである場合は、左と右のサブツリーを再帰的にトラバースして、左と右のサブツリーの最も近い共通の祖先を取得します。
コード実装:
複雑性分析: 時間計算量: O(n) 空間計算量: O(n) |
3 月 8 日、ベンチャー キャピタル業界の 2 人の巨人、マーク アンドリーセン氏とヴィノド コ...
Google DeepMind、論文を提出してください!ちょうど今、ジェフ・ディーン氏とハサビス氏は...
1. 論文のテーマに関する詳細な議論質の高いトピック選択は、トップクラスのジャーナルに論文を掲載する...
先週は、古典的な CNN ネットワーク AlexNet が画像分類に与える影響についてお話ししました...
2023年杭州雲奇大会において、アリババクラウド最高技術責任者の周景仁氏は、数千億のパラメータを持つ...
企業における人工知能の応用はますます広範になってきており、産業化される可能性もあります。既存のデータ...
パンデミック中にどうやって髪を切っていますか?どうやって見た目を維持していますか?多くの人がオンライ...
最近、Andrei Kovalevという外国人ネットユーザーがMidjourney V6の非常に詳細...
現在、製造業における人工知能技術の応用が急成長しています。自社にとって適切な人工知能ツールをどのよう...
AI テクノロジーは職場環境に深く浸透しており、単調で反復的な手作業を置き換えるだけでなく、他の仕事...