この記事はWeChatの公開アカウント「3分でフロントエンドを学ぶ」から転載したもので、著者はsisterAnです。この記事を転載する場合は、「3分で学ぶフロントエンド」公式アカウントまでご連絡ください。 木の基礎については、こちらをご覧ください: 初心者のための木 二分木が与えられた場合、それが高さバランスの取れた二分木であるかどうかを判断します。 この問題では、高度にバランスのとれた二分木は次のように定義されます。 バイナリ ツリー内の各ノードの左側のサブツリーと右側のサブツリー間の高さの差の絶対値は 1 を超えません。 例1: 二分木[3,9,20,null,null,15,7]が与えられた場合
true を返します。 例2: 二分木[1,2,2,3,3,null,null,4,4]が与えられた場合
false を返します。 解決策 1: トップダウン (ブルートフォース)解決方法: 各ノードの左サブツリーと右サブツリーの最大高さの差を上から下まで比較します。バイナリ ツリー内の各ノードの左サブツリーと右サブツリーの最大高さの差が 1 以下、つまり各サブツリーのバランスが取れている場合、バイナリ ツリーはバランスの取れたバイナリ ツリーです。 コード実装:
複雑性分析:
解決策2: ボトムアップ(最適化)解決方法: バイナリ ツリー (左ルートと右ルート) の後続のトラバーサルを使用して、下から上へのサブツリーの最大の高さを返し、各サブツリーがバランスの取れたツリーであるかどうかを判断します。バランスが取れている場合は、その高さを使用して親ノードがバランスが取れているかどうかを判断し、親ノードの高さを計算します。バランスが取れていない場合は、-1 を返します。 バイナリ ツリー内の各ノードの左サブツリーと右サブツリーの深さを走査して比較します。
コード実装:
複雑性分析:
|
<<: AIと自動化を活用して機密データを大規模に識別する方法
>>: 清華大学のAI学生が顔を見せて歌う、この応用は将来に期待される
[[234521]]文|ハオ・ジンファンSF作家第74回ヒューゴー賞受賞者公式アカウント「小唐科学子...
GPT-3.5 の微調整には非常にコストがかかることはよく知られています。この論文では、手動で微調整...
[[200112]]編集者注: チャットボットは目新しいものではありません。Facebook や ...
エッジ人工知能 (EdgeAI) は、人工知能の分野における新しい注目の領域の 1 つです。目標は、...
最近、わが国の科学技術分野は新たな躍進を遂げました。ドローンによる「橋渡し」の力を借りて、量子ネット...
[オリジナル記事は51CTO.comより] 2018年ロシアワールドカップはエキサイティングな決勝...
世界中の多くの規制当局は、公開ビデオフィード上の人物を識別するなどのアプリケーションに顔認識を使用し...
AIは急速に私たちの日常生活に入り込んできており、近い将来、AIと人間の境界線を見分けることが難しく...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
これからの学びは、従来の学校中心の島型ではなく、新しいタイプの島型になります。家庭、インターネット、...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
McKinsey & Company の画期的なレポートでは、AI を含むデジタル調達ソリュ...