@@ -87294,7 +87294,7 @@ <h3 id="solution-1-traverse-starting-points">Solution 1: Traverse Starting Point
87294
87294
<ul>
87295
87295
<li><a href="https://github.com/doocs/leetcode/blob/main/solution/2100-2199/2127.Maximum%20Employees%20to%20Be%20Invited%20to%20a%20Meeting/README.md">2127. Maximum Employees to Be Invited to a Meeting</a></li>
87296
87296
</ul>
87297
- <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>
87297
+ <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">Rust </label></div>
87298
87298
<div class="tabbed-content">
87299
87299
<div class="tabbed-block">
87300
87300
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -87536,23 +87536,23 @@ <h3 id="solution-1-traverse-starting-points">Solution 1: Traverse Starting Point
87536
87536
<span class="normal">25</span>
87537
87537
<span class="normal">26</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">longestCycle</span><span class="p">(</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>
87538
87538
<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="p">;</span>
87539
- <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">vis</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">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="kc">false</span><span class="p">);</span>
87539
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">vis</span><span class="o">:</span><span class=" w"> </span><span class="kt">boolean</span><span class="p">[] </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="kc">false</span><span class="p">);</span>
87540
87540
<span class="w"> </span><span class="kd">let</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>
87541
87541
<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"><</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>
87542
87542
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">vis</span><span class="p">[</span><span class="nx">i</span><span class="p">])</span><span class="w"> </span><span class="p">{</span>
87543
87543
<span class="w"> </span><span class="k">continue</span><span class="p">;</span>
87544
87544
<span class="w"> </span><span class="p">}</span>
87545
87545
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">i</span><span class="p">;</span>
87546
87546
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">cycle</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[];</span>
87547
- <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(;</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">!</span><span class="nx">vis</span><span class="p">[</span><span class="nx">j</span><span class="p">];</span><span class="w"> </span><span class="nx">j</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">j</span><span class="p">])</span><span class="w"> </span><span class="p">{</span>
87547
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(;</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="o">!== </span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">!</span><span class="nx">vis</span><span class="p">[</span><span class="nx">j</span><span class="p">];</span><span class="w"> </span><span class="nx">j</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">j</span><span class="p">])</span><span class="w"> </span><span class="p">{</span>
87548
87548
<span class="w"> </span><span class="nx">vis</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="kc">true</span><span class="p">;</span>
87549
87549
<span class="w"> </span><span class="nx">cycle</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">j</span><span class="p">);</span>
87550
87550
<span class="w"> </span><span class="p">}</span>
87551
- <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="o">-</span><span class="mf">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
87551
+ <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="o">-</span><span class="mf">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
87552
87552
<span class="w"> </span><span class="k">continue</span><span class="p">;</span>
87553
87553
<span class="w"> </span><span class="p">}</span>
87554
87554
<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">k</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">k</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">cycle</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="nx">k</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
87555
- <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">cycle</span><span class="p">[</span><span class="nx">k</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="nx">j</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
87555
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">cycle</span><span class="p">[</span><span class="nx">k</span><span class="p">]</span><span class="w"> </span><span class="o">=== </span><span class="w"> </span><span class="nx">j</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
87556
87556
<span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">max</span><span class="p">(</span><span class="nx">ans</span><span class="p">,</span><span class="w"> </span><span class="nx">cycle</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">k</span><span class="p">);</span>
87557
87557
<span class="w"> </span><span class="k">break</span><span class="p">;</span>
87558
87558
<span class="w"> </span><span class="p">}</span>
@@ -87562,6 +87562,74 @@ <h3 id="solution-1-traverse-starting-points">Solution 1: Traverse Starting Point
87562
87562
<span class="p">}</span>
87563
87563
</code></pre></div></td></tr></table></div>
87564
87564
</div>
87565
+ <div class="tabbed-block">
87566
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
87567
+ <span class="normal"> 2</span>
87568
+ <span class="normal"> 3</span>
87569
+ <span class="normal"> 4</span>
87570
+ <span class="normal"> 5</span>
87571
+ <span class="normal"> 6</span>
87572
+ <span class="normal"> 7</span>
87573
+ <span class="normal"> 8</span>
87574
+ <span class="normal"> 9</span>
87575
+ <span class="normal">10</span>
87576
+ <span class="normal">11</span>
87577
+ <span class="normal">12</span>
87578
+ <span class="normal">13</span>
87579
+ <span class="normal">14</span>
87580
+ <span class="normal">15</span>
87581
+ <span class="normal">16</span>
87582
+ <span class="normal">17</span>
87583
+ <span class="normal">18</span>
87584
+ <span class="normal">19</span>
87585
+ <span class="normal">20</span>
87586
+ <span class="normal">21</span>
87587
+ <span class="normal">22</span>
87588
+ <span class="normal">23</span>
87589
+ <span class="normal">24</span>
87590
+ <span class="normal">25</span>
87591
+ <span class="normal">26</span>
87592
+ <span class="normal">27</span>
87593
+ <span class="normal">28</span>
87594
+ <span class="normal">29</span>
87595
+ <span class="normal">30</span>
87596
+ <span class="normal">31</span>
87597
+ <span class="normal">32</span>
87598
+ <span class="normal">33</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">impl</span><span class="w"> </span><span class="n">Solution</span><span class="w"> </span><span class="p">{</span>
87599
+ <span class="w"> </span><span class="k">pub</span><span class="w"> </span><span class="k">fn</span><span class="w"> </span><span class="nf">longest_cycle</span><span class="p">(</span><span class="n">edges</span><span class="p">:</span><span class="w"> </span><span class="nb">Vec</span><span class="o"><</span><span class="kt">i32</span><span class="o">></span><span class="p">)</span><span class="w"> </span><span class="p">-></span><span class="w"> </span><span class="kt">i32</span><span class="w"> </span><span class="p">{</span>
87600
+ <span class="w"> </span><span class="kd">let</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">len</span><span class="p">();</span>
87601
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">vis</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="fm">vec!</span><span class="p">[</span><span class="kc">false</span><span class="p">;</span><span class="w"> </span><span class="n">n</span><span class="p">];</span>
87602
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">;</span>
87603
+
87604
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="mi">0</span><span class="o">..</span><span class="n">n</span><span class="w"> </span><span class="p">{</span>
87605
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">vis</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="p">{</span>
87606
+ <span class="w"> </span><span class="k">continue</span><span class="p">;</span>
87607
+ <span class="w"> </span><span class="p">}</span>
87608
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">i32</span><span class="p">;</span>
87609
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">cycle</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Vec</span><span class="p">::</span><span class="n">new</span><span class="p">();</span>
87610
+
87611
+ <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">!</span><span class="n">vis</span><span class="p">[</span><span class="n">j</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">usize</span><span class="p">]</span><span class="w"> </span><span class="p">{</span>
87612
+ <span class="w"> </span><span class="n">vis</span><span class="p">[</span><span class="n">j</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">usize</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
87613
+ <span class="w"> </span><span class="n">cycle</span><span class="p">.</span><span class="n">push</span><span class="p">(</span><span class="n">j</span><span class="p">);</span>
87614
+ <span class="w"> </span><span class="n">j</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">j</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">usize</span><span class="p">];</span>
87615
+ <span class="w"> </span><span class="p">}</span>
87616
+
87617
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="p">{</span>
87618
+ <span class="w"> </span><span class="k">continue</span><span class="p">;</span>
87619
+ <span class="w"> </span><span class="p">}</span>
87620
+
87621
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">k</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="mi">0</span><span class="o">..</span><span class="n">cycle</span><span class="p">.</span><span class="n">len</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
87622
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">cycle</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="p">{</span>
87623
+ <span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ans</span><span class="p">.</span><span class="n">max</span><span class="p">((</span><span class="n">cycle</span><span class="p">.</span><span class="n">len</span><span class="p">()</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">k</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">i32</span><span class="p">);</span>
87624
+ <span class="w"> </span><span class="k">break</span><span class="p">;</span>
87625
+ <span class="w"> </span><span class="p">}</span>
87626
+ <span class="w"> </span><span class="p">}</span>
87627
+ <span class="w"> </span><span class="p">}</span>
87628
+ <span class="w"> </span><span class="n">ans</span>
87629
+ <span class="w"> </span><span class="p">}</span>
87630
+ <span class="p">}</span>
87631
+ </code></pre></div></td></tr></table></div>
87632
+ </div>
87565
87633
</div>
87566
87634
</div>
87567
87635
<!-- solution:end -->
0 commit comments