Skip to content

Commit 47342a1

Browse files
committed
deploy: df12304
1 parent 1376f85 commit 47342a1

File tree

4 files changed

+162
-26
lines changed

4 files changed

+162
-26
lines changed

en/lc/3313/index.html

Lines changed: 80 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -79493,7 +79493,7 @@ <h3 id="solution-1-find-the-diameter-of-the-tree-dfs">Solution 1: Find the Diame
7949379493
<p>Next, we perform a depth-first search starting from node $b$ to calculate the distance from each node to node $b$, denoted as $\textit{dist3}$.</p>
7949479494
<p>For each node $i$, if $\textit{dist2}[i] &gt; $\textit{dist3}[i]$, then the distance from node $a$ to node $i$ is greater, so node $a$ is the last marked node; otherwise, node $b$ is the last marked node.</p>
7949579495
<p>The time complexity is $O(n)$, and the space complexity is $O(n)$. Here, $n$ is the number of nodes.</p>
79496-
<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>
79496+
<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>
7949779497
<div class="tabbed-content">
7949879498
<div class="tabbed-block">
7949979499
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -79701,11 +79701,7 @@ <h3 id="solution-1-find-the-diameter-of-the-tree-dfs">Solution 1: Find the Diame
7970179701
<span class="normal">37</span>
7970279702
<span class="normal">38</span>
7970379703
<span class="normal">39</span>
79704-
<span class="normal">40</span>
79705-
<span class="normal">41</span>
79706-
<span class="normal">42</span>
79707-
<span class="normal">43</span>
79708-
<span class="normal">44</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
79704+
<span class="normal">40</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
7970979705
<span class="k">public</span><span class="o">:</span>
7971079706
<span class="w"> </span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="w"> </span><span class="n">lastMarkedNodes</span><span class="p">(</span><span class="n">vector</span><span class="o">&lt;</span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;&gt;&amp;</span><span class="w"> </span><span class="n">edges</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
7971179707
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">edges</span><span class="p">.</span><span class="n">size</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
@@ -79715,17 +79711,13 @@ <h3 id="solution-1-find-the-diameter-of-the-tree-dfs">Solution 1: Find the Diame
7971579711
<span class="w"> </span><span class="n">g</span><span class="p">[</span><span class="n">u</span><span class="p">].</span><span class="n">push_back</span><span class="p">(</span><span class="n">v</span><span class="p">);</span>
7971679712
<span class="w"> </span><span class="n">g</span><span class="p">[</span><span class="n">v</span><span class="p">].</span><span class="n">push_back</span><span class="p">(</span><span class="n">u</span><span class="p">);</span>
7971779713
<span class="w"> </span><span class="p">}</span>
79718-
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">max_node</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="o">&amp;</span><span class="p">](</span><span class="k">const</span><span class="w"> </span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;&amp;</span><span class="w"> </span><span class="n">dist</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
79719-
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">mx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ranges</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">dist</span><span class="p">);</span>
79720-
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ranges</span><span class="o">::</span><span class="n">find</span><span class="p">(</span><span class="n">dist</span><span class="p">,</span><span class="w"> </span><span class="n">mx</span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">dist</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
79721-
<span class="w"> </span><span class="p">};</span>
7972279714
<span class="w"> </span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="w"> </span><span class="n">dist1</span><span class="p">(</span><span class="n">n</span><span class="p">);</span>
7972379715
<span class="w"> </span><span class="n">dfs</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w"> </span><span class="n">dist1</span><span class="p">);</span>
79724-
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">max_node</span><span class="p">(</span><span class="n">dist1</span><span class="p">);</span>
79716+
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">max_element</span><span class="p">(</span><span class="n">dist1</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span><span class="w"> </span><span class="n">dist1</span><span class="p">.</span><span class="n">end</span><span class="p">())</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">dist1</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
7972579717

7972679718
<span class="w"> </span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="w"> </span><span class="n">dist2</span><span class="p">(</span><span class="n">n</span><span class="p">);</span>
7972779719
<span class="w"> </span><span class="n">dfs</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w"> </span><span class="n">dist2</span><span class="p">);</span>
79728-
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">max_node</span><span class="p">(</span><span class="n">dist2</span><span class="p">);</span>
79720+
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">max_element</span><span class="p">(</span><span class="n">dist2</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span><span class="w"> </span><span class="n">dist2</span><span class="p">.</span><span class="n">end</span><span class="p">())</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">dist2</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
7972979721

7973079722
<span class="w"> </span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="w"> </span><span class="n">dist3</span><span class="p">(</span><span class="n">n</span><span class="p">);</span>
7973179723
<span class="w"> </span><span class="n">dfs</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w"> </span><span class="n">dist3</span><span class="p">);</span>
@@ -79915,6 +79907,82 @@ <h3 id="solution-1-find-the-diameter-of-the-tree-dfs">Solution 1: Find the Diame
7991579907
<span class="p">}</span>
7991679908
</code></pre></div></td></tr></table></div>
7991779909
</div>
79910+
<div class="tabbed-block">
79911+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
79912+
<span class="normal"> 2</span>
79913+
<span class="normal"> 3</span>
79914+
<span class="normal"> 4</span>
79915+
<span class="normal"> 5</span>
79916+
<span class="normal"> 6</span>
79917+
<span class="normal"> 7</span>
79918+
<span class="normal"> 8</span>
79919+
<span class="normal"> 9</span>
79920+
<span class="normal">10</span>
79921+
<span class="normal">11</span>
79922+
<span class="normal">12</span>
79923+
<span class="normal">13</span>
79924+
<span class="normal">14</span>
79925+
<span class="normal">15</span>
79926+
<span class="normal">16</span>
79927+
<span class="normal">17</span>
79928+
<span class="normal">18</span>
79929+
<span class="normal">19</span>
79930+
<span class="normal">20</span>
79931+
<span class="normal">21</span>
79932+
<span class="normal">22</span>
79933+
<span class="normal">23</span>
79934+
<span class="normal">24</span>
79935+
<span class="normal">25</span>
79936+
<span class="normal">26</span>
79937+
<span class="normal">27</span>
79938+
<span class="normal">28</span>
79939+
<span class="normal">29</span>
79940+
<span class="normal">30</span>
79941+
<span class="normal">31</span>
79942+
<span class="normal">32</span>
79943+
<span class="normal">33</span>
79944+
<span class="normal">34</span>
79945+
<span class="normal">35</span>
79946+
<span class="normal">36</span>
79947+
<span class="normal">37</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cm">/**</span>
79948+
<span class="cm"> * @param {number[][]} edges</span>
79949+
<span class="cm"> * @return {number[]}</span>
79950+
<span class="cm"> */</span>
79951+
<span class="kd">var</span><span class="w"> </span><span class="nx">lastMarkedNodes</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">(</span><span class="nx">edges</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
79952+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">edges</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mf">1</span><span class="p">;</span>
79953+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">g</span><span class="w"> </span><span class="o">=</span><span class="w"> </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="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p">[]);</span>
79954+
<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">u</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>
79955+
<span class="w"> </span><span class="nx">g</span><span class="p">[</span><span class="nx">u</span><span class="p">].</span><span class="nx">push</span><span class="p">(</span><span class="nx">v</span><span class="p">);</span>
79956+
<span class="w"> </span><span class="nx">g</span><span class="p">[</span><span class="nx">v</span><span class="p">].</span><span class="nx">push</span><span class="p">(</span><span class="nx">u</span><span class="p">);</span>
79957+
<span class="w"> </span><span class="p">}</span>
79958+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">dfs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="nx">i</span><span class="p">,</span><span class="w"> </span><span class="nx">fa</span><span class="p">,</span><span class="w"> </span><span class="nx">dist</span><span class="p">)</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p">{</span>
79959+
<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="nx">j</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">g</span><span class="p">[</span><span class="nx">i</span><span class="p">])</span><span class="w"> </span><span class="p">{</span>
79960+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">j</span><span class="w"> </span><span class="o">!==</span><span class="w"> </span><span class="nx">fa</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
79961+
<span class="w"> </span><span class="nx">dist</span><span class="p">[</span><span class="nx">j</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">dist</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">1</span><span class="p">;</span>
79962+
<span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">j</span><span class="p">,</span><span class="w"> </span><span class="nx">i</span><span class="p">,</span><span class="w"> </span><span class="nx">dist</span><span class="p">);</span>
79963+
<span class="w"> </span><span class="p">}</span>
79964+
<span class="w"> </span><span class="p">}</span>
79965+
<span class="w"> </span><span class="p">};</span>
79966+
79967+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">dist1</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>
79968+
<span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">,</span><span class="w"> </span><span class="nx">dist1</span><span class="p">);</span>
79969+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">dist1</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="nb">Math</span><span class="p">.</span><span class="nx">max</span><span class="p">(...</span><span class="nx">dist1</span><span class="p">));</span>
79970+
79971+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">dist2</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>
79972+
<span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">a</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">,</span><span class="w"> </span><span class="nx">dist2</span><span class="p">);</span>
79973+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">dist2</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="nb">Math</span><span class="p">.</span><span class="nx">max</span><span class="p">(...</span><span class="nx">dist2</span><span class="p">));</span>
79974+
79975+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">dist3</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>
79976+
<span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">b</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">,</span><span class="w"> </span><span class="nx">dist3</span><span class="p">);</span>
79977+
79978+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[];</span>
79979+
<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>
79980+
<span class="w"> </span><span class="nx">ans</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">dist2</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="nx">dist3</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="nx">a</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="nx">b</span><span class="p">);</span>
79981+
<span class="w"> </span><span class="p">}</span>
79982+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span><span class="p">;</span>
79983+
<span class="p">};</span>
79984+
</code></pre></div></td></tr></table></div>
79985+
</div>
7991879986
</div>
7991979987
</div>
7992079988
<!-- solution:end -->

en/search/search_index.json

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

0 commit comments

Comments
 (0)