有向非巡回グラフ内のノードのすべての祖先

WBOY
リリース: 2024-07-17 19:34:52
オリジナル
273 人が閲覧しました

2192。有向非巡回グラフ内のノードのすべての祖先

有向非巡回グラフ (DAG) のノード数を表す正の整数 n が与えられます。ノードには 0 から n - 1 (を含む) までの番号が付けられます。

2D 整数配列のエッジも与えられます。ここで、edges[i] = [from

i, toi] は、グラフ内に fromi から toi までの 一方向 エッジがあることを示します。 .

リストの回答を返します。ここで、answer[i] は、

昇順でソートされた、i​​ 番目のノードの祖先のリストです。 エッジのセットを介して v に到達できる場合、ノード u は別のノード v の先祖

です。

例1:

All Ancestors of a Node in a Directed Acyclic Graph入力:

n = 8、edgeList = [[0,3],[0,4],[1,3],[2,4],[2,7],[3,5],[3, 6]、[3,7]、[4,6]]
  • 出力: [[],[],[],[0,1],[0,2],[0,1,3],[0,1,2,3,4],[0,1 ,2,3]]
  • 説明: 上の図は入力グラフを表しています。
  • ノード 0、1、2 には祖先がありません。 ノード 3 には 2 つの祖先 0 と 1 があります。
    • ノード 4 には 2 つの祖先 0 と 2 があります。
    • ノード 5 には 3 つの祖先 0、1、および 3 があります。
    • ノード 6 には 5 つの祖先 0、1、2、3、4 があります。
    • ノード 7 には 4 つの祖先 0、1、2、および 3 があります。
    例 2:

All Ancestors of a Node in a Directed Acyclic Graph入力:

n = 5、edgeList = [[0,1],[0,2],[0,3],[0,4],[1,2],[1,3],[1, 4]、[2,3]、[2,4]、[3,4]]
  • 出力: [[],[0],[0,1],[0,1,2],[0,1,2,3]]
  • 説明: 上の図は入力グラフを表しています。
  • ノード 0 には祖先がありません。 ノード 1 には 1 つの祖先 0 があります。
    • ノード 2 には 2 つの祖先 0 と 1 があります。
    • ノード 3 には 3 つの祖先 0、1、2 があります。
    • ノード 4 には 4 つの祖先 0、1、2、および 3 があります。
    制約:

1

0
  • edges[i].length == 2
  • 0 i
  • , to
  • i
  • <= n - 1 からi != to
  • i
  • 重複するエッジはありません。 グラフは
  • 有向
  • 非循環
  • です。 解決策:
  • リーリー

    連絡先リンク

    リンクトイン

    • GitHub

    以上が有向非巡回グラフ内のノードのすべての祖先の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    ソース:dev.to
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!