Skip to content

Commit caab71b

Browse files
committed
deploy: a11f78a
1 parent aabdf39 commit caab71b

File tree

8 files changed

+7421
-7243
lines changed

8 files changed

+7421
-7243
lines changed

en/lc/2924/index.html

Lines changed: 90 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68674,6 +68674,15 @@
6867468674
</span>
6867568675
</a>
6867668676

68677+
</li>
68678+
68679+
<li class="md-nav__item">
68680+
<a href="#solution-2" class="md-nav__link">
68681+
<span class="md-ellipsis">
68682+
Solution 2
68683+
</span>
68684+
</a>
68685+
6867768686
</li>
6867868687

6867968688
</ul>
@@ -80727,7 +80736,7 @@ <h2 id="solutions">Solutions</h2>
8072780736
<h3 id="solution-1-counting-in-degrees">Solution 1: Counting In-degrees</h3>
8072880737
<p>Based on the problem description, we only need to count the in-degrees of each node and record them in an array $indeg$. If only one node has an in-degree of $0$, then this node is the champion; otherwise, there is no unique champion.</p>
8072980738
<p>The time complexity is $O(n)$, and the space complexity is $O(n)$. Here, $n$ is the number of nodes.</p>
80730-
<div class="tabbed-set tabbed-alternate" data-tabs="1:5"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label><label for="__tabbed_1_5">TypeScript</label></div>
80739+
<div class="tabbed-set tabbed-alternate" data-tabs="1:6"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label><label for="__tabbed_1_5">TypeScript</label><label for="__tabbed_1_6">JavaScript</label></div>
8073180740
<div class="tabbed-content">
8073280741
<div class="tabbed-block">
8073380742
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
@@ -80881,6 +80890,81 @@ <h3 id="solution-1-counting-in-degrees">Solution 1: Counting In-degrees</h3>
8088180890
<span class="p">}</span>
8088280891
</code></pre></div></td></tr></table></div>
8088380892
</div>
80893+
<div class="tabbed-block">
80894+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
80895+
<span class="normal"> 2</span>
80896+
<span class="normal"> 3</span>
80897+
<span class="normal"> 4</span>
80898+
<span class="normal"> 5</span>
80899+
<span class="normal"> 6</span>
80900+
<span class="normal"> 7</span>
80901+
<span class="normal"> 8</span>
80902+
<span class="normal"> 9</span>
80903+
<span class="normal">10</span>
80904+
<span class="normal">11</span>
80905+
<span class="normal">12</span>
80906+
<span class="normal">13</span>
80907+
<span class="normal">14</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">findChampion</span><span class="p">(</span><span class="nx">n</span><span class="p">,</span><span class="w"> </span><span class="nx">edges</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
80908+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">indeg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Array</span><span class="p">(</span><span class="nx">n</span><span class="p">).</span><span class="nx">fill</span><span class="p">(</span><span class="mf">0</span><span class="p">);</span>
80909+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="p">[</span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">v</span><span class="p">]</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">edges</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
80910+
<span class="w"> </span><span class="o">++</span><span class="nx">indeg</span><span class="p">[</span><span class="nx">v</span><span class="p">];</span>
80911+
<span class="w"> </span><span class="p">}</span>
80912+
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="p">[</span><span class="nx">ans</span><span class="p">,</span><span class="w"> </span><span class="nx">cnt</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="o">-</span><span class="mf">1</span><span class="p">,</span><span class="w"> </span><span class="mf">0</span><span class="p">];</span>
80913+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">let</span><span class="w"> </span><span class="nx">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span><span class="w"> </span><span class="nx">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="nx">n</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="nx">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
80914+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">indeg</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
80915+
<span class="w"> </span><span class="o">++</span><span class="nx">cnt</span><span class="p">;</span>
80916+
<span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">i</span><span class="p">;</span>
80917+
<span class="w"> </span><span class="p">}</span>
80918+
<span class="w"> </span><span class="p">}</span>
80919+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">cnt</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">1</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">;</span>
80920+
<span class="p">}</span>
80921+
</code></pre></div></td></tr></table></div>
80922+
</div>
80923+
</div>
80924+
</div>
80925+
<!-- solution:end -->
80926+
80927+
<!-- solution:start -->
80928+
80929+
<h3 id="solution-2">Solution 2</h3>
80930+
<div class="tabbed-set tabbed-alternate" data-tabs="2:2"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">TypeScript</label><label for="__tabbed_2_2">JavaScript</label></div>
80931+
<div class="tabbed-content">
80932+
<div class="tabbed-block">
80933+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
80934+
<span class="normal">2</span>
80935+
<span class="normal">3</span>
80936+
<span class="normal">4</span>
80937+
<span class="normal">5</span>
80938+
<span class="normal">6</span>
80939+
<span class="normal">7</span>
80940+
<span class="normal">8</span>
80941+
<span class="normal">9</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">findChampion</span><span class="p">(</span><span class="nx">n</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">,</span><span class="w"> </span><span class="nx">edges</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[][])</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="w"> </span><span class="p">{</span>
80942+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">vertexes</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nb">Set</span><span class="o">&lt;</span><span class="kt">number</span><span class="o">&gt;</span><span class="p">(</span><span class="nb">Array</span><span class="p">.</span><span class="kr">from</span><span class="p">({</span><span class="w"> </span><span class="nx">length</span><span class="o">:</span><span class="w"> </span><span class="kt">n</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">(</span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">i</span><span class="p">)</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="nx">i</span><span class="p">));</span>
80943+
80944+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="p">[</span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">v</span><span class="p">]</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">edges</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
80945+
<span class="w"> </span><span class="nx">vertexes</span><span class="p">.</span><span class="ow">delete</span><span class="p">(</span><span class="nx">v</span><span class="p">);</span>
80946+
<span class="w"> </span><span class="p">}</span>
80947+
80948+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">vertexes</span><span class="p">.</span><span class="nx">size</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">1</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="nx">vertexes</span><span class="p">[</span><span class="nb">Symbol</span><span class="p">.</span><span class="nx">iterator</span><span class="p">]().</span><span class="nx">next</span><span class="p">().</span><span class="nx">value</span><span class="o">!</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">;</span>
80949+
<span class="p">}</span>
80950+
</code></pre></div></td></tr></table></div>
80951+
</div>
80952+
<div class="tabbed-block">
80953+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
80954+
<span class="normal">2</span>
80955+
<span class="normal">3</span>
80956+
<span class="normal">4</span>
80957+
<span class="normal">5</span>
80958+
<span class="normal">6</span>
80959+
<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">findChampion</span><span class="p">(</span><span class="nx">n</span><span class="p">,</span><span class="w"> </span><span class="nx">edges</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
80960+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">vertexes</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nb">Set</span><span class="p">(</span><span class="nb">Array</span><span class="p">.</span><span class="kr">from</span><span class="p">({</span><span class="w"> </span><span class="nx">length</span><span class="o">:</span><span class="w"> </span><span class="nx">n</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">(</span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">i</span><span class="p">)</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="nx">i</span><span class="p">));</span>
80961+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="p">[</span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">v</span><span class="p">]</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">edges</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
80962+
<span class="w"> </span><span class="nx">vertexes</span><span class="p">.</span><span class="ow">delete</span><span class="p">(</span><span class="nx">v</span><span class="p">);</span>
80963+
<span class="w"> </span><span class="p">}</span>
80964+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">vertexes</span><span class="p">.</span><span class="nx">size</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">1</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="nx">vertexes</span><span class="p">[</span><span class="nb">Symbol</span><span class="p">.</span><span class="nx">iterator</span><span class="p">]().</span><span class="nx">next</span><span class="p">().</span><span class="nx">value</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">;</span>
80965+
<span class="p">}</span>
80966+
</code></pre></div></td></tr></table></div>
80967+
</div>
8088480968
</div>
8088580969
</div>
8088680970
<!-- solution:end -->
@@ -80914,6 +80998,11 @@ <h3 id="solution-1-counting-in-degrees">Solution 1: Counting In-degrees</h3>
8091480998

8091580999
<nav>
8091681000

81001+
<a href="https://github.com/rain84" class="md-author" title="@rain84">
81002+
81003+
<img src="https://avatars.githubusercontent.com/u/1732547?v=4&size=72" alt="rain84">
81004+
</a>
81005+
8091781006
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
8091881007

8091981008
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">

en/search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)