@@ -87197,7 +87197,7 @@ <h2 id="solutions">Solutions</h2>
8719787197<!-- solution:start -->
8719887198
8719987199<h3 id="solution-1">Solution 1</h3>
87200- <div class="tabbed-set tabbed-alternate" data-tabs="1:4 "><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" /><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></div>
87200+ <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>
8720187201<div class="tabbed-content">
8720287202<div class="tabbed-block">
8720387203<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -87395,6 +87395,96 @@ <h3 id="solution-1">Solution 1</h3>
8739587395<span class="p">}</span>
8739687396</code></pre></div></td></tr></table></div>
8739787397</div>
87398+ <div class="tabbed-block">
87399+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
87400+ <span class="normal"> 2</span>
87401+ <span class="normal"> 3</span>
87402+ <span class="normal"> 4</span>
87403+ <span class="normal"> 5</span>
87404+ <span class="normal"> 6</span>
87405+ <span class="normal"> 7</span>
87406+ <span class="normal"> 8</span>
87407+ <span class="normal"> 9</span>
87408+ <span class="normal">10</span>
87409+ <span class="normal">11</span>
87410+ <span class="normal">12</span>
87411+ <span class="normal">13</span>
87412+ <span class="normal">14</span>
87413+ <span class="normal">15</span>
87414+ <span class="normal">16</span>
87415+ <span class="normal">17</span>
87416+ <span class="normal">18</span>
87417+ <span class="normal">19</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">maxVacationDays</span><span class="p">(</span><span class="nx">flights</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">days</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>
87418+ <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">flights</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>
87419+ <span class="w"> </span><span class="kd">const</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">days</span><span class="p">[</span><span class="mf">0</span><span class="p">].</span><span class="nx">length</span><span class="p">;</span>
87420+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">inf</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Number</span><span class="p">.</span><span class="nx">NEGATIVE_INFINITY</span><span class="p">;</span>
87421+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">f</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="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">K</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mf">1</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">=></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="nx">inf</span><span class="p">));</span>
87422+ <span class="w"> </span><span class="nx">f</span><span class="p">[</span><span class="mf">0</span><span class="p">][</span><span class="mf">0</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>
87423+ <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">1</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">K</span><span class="p">;</span><span class="w"> </span><span class="nx">k</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
87424+ <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">j</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">j</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="nx">j</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
87425+ <span class="w"> </span><span class="nx">f</span><span class="p">[</span><span class="nx">k</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">f</span><span class="p">[</span><span class="nx">k</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">][</span><span class="nx">j</span><span class="p">];</span>
87426+ <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="nx">i</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
87427+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">flights</span><span class="p">[</span><span class="nx">i</span><span class="p">][</span><span class="nx">j</span><span class="p">])</span><span class="w"> </span><span class="p">{</span>
87428+ <span class="w"> </span><span class="nx">f</span><span class="p">[</span><span class="nx">k</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="nb">Math</span><span class="p">.</span><span class="nx">max</span><span class="p">(</span><span class="nx">f</span><span class="p">[</span><span class="nx">k</span><span class="p">][</span><span class="nx">j</span><span class="p">],</span><span class="w"> </span><span class="nx">f</span><span class="p">[</span><span class="nx">k</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">][</span><span class="nx">i</span><span class="p">]);</span>
87429+ <span class="w"> </span><span class="p">}</span>
87430+ <span class="w"> </span><span class="p">}</span>
87431+ <span class="w"> </span><span class="nx">f</span><span class="p">[</span><span class="nx">k</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">days</span><span class="p">[</span><span class="nx">j</span><span class="p">][</span><span class="nx">k</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">];</span>
87432+ <span class="w"> </span><span class="p">}</span>
87433+ <span class="w"> </span><span class="p">}</span>
87434+ <span class="w"> </span><span class="k">return</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">f</span><span class="p">[</span><span class="nx">K</span><span class="p">]);</span>
87435+ <span class="p">}</span>
87436+ </code></pre></div></td></tr></table></div>
87437+ </div>
87438+ <div class="tabbed-block">
87439+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
87440+ <span class="normal"> 2</span>
87441+ <span class="normal"> 3</span>
87442+ <span class="normal"> 4</span>
87443+ <span class="normal"> 5</span>
87444+ <span class="normal"> 6</span>
87445+ <span class="normal"> 7</span>
87446+ <span class="normal"> 8</span>
87447+ <span class="normal"> 9</span>
87448+ <span class="normal">10</span>
87449+ <span class="normal">11</span>
87450+ <span class="normal">12</span>
87451+ <span class="normal">13</span>
87452+ <span class="normal">14</span>
87453+ <span class="normal">15</span>
87454+ <span class="normal">16</span>
87455+ <span class="normal">17</span>
87456+ <span class="normal">18</span>
87457+ <span class="normal">19</span>
87458+ <span class="normal">20</span>
87459+ <span class="normal">21</span>
87460+ <span class="normal">22</span>
87461+ <span class="normal">23</span>
87462+ <span class="normal">24</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>
87463+ <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">max_vacation_days</span><span class="p">(</span><span class="n">flights</span><span class="p">:</span><span class="w"> </span><span class="nb">Vec</span><span class="o"><</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="n">days</span><span class="p">:</span><span class="w"> </span><span class="nb">Vec</span><span class="o"><</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>
87464+ <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">flights</span><span class="p">.</span><span class="n">len</span><span class="p">();</span>
87465+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="n">k</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">days</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="n">len</span><span class="p">();</span>
87466+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="n">inf</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kt">i32</span><span class="p">::</span><span class="n">MIN</span><span class="p">;</span>
87467+
87468+ <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">f</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="fm">vec!</span><span class="p">[</span><span class="fm">vec!</span><span class="p">[</span><span class="n">inf</span><span class="p">;</span><span class="w"> </span><span class="n">n</span><span class="p">];</span><span class="w"> </span><span class="n">k</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">];</span>
87469+ <span class="w"> </span><span class="n">f</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
87470+
87471+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">step</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="mi">1</span><span class="o">..=</span><span class="n">k</span><span class="w"> </span><span class="p">{</span>
87472+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">j</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>
87473+ <span class="w"> </span><span class="n">f</span><span class="p">[</span><span class="n">step</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">f</span><span class="p">[</span><span class="n">step</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">][</span><span class="n">j</span><span class="p">];</span>
87474+ <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>
87475+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">flights</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">{</span>
87476+ <span class="w"> </span><span class="n">f</span><span class="p">[</span><span class="n">step</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">f</span><span class="p">[</span><span class="n">step</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">max</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="n">step</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">][</span><span class="n">i</span><span class="p">]);</span>
87477+ <span class="w"> </span><span class="p">}</span>
87478+ <span class="w"> </span><span class="p">}</span>
87479+ <span class="w"> </span><span class="n">f</span><span class="p">[</span><span class="n">step</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">days</span><span class="p">[</span><span class="n">j</span><span class="p">][</span><span class="n">step</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">];</span>
87480+ <span class="w"> </span><span class="p">}</span>
87481+ <span class="w"> </span><span class="p">}</span>
87482+
87483+ <span class="w"> </span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="n">k</span><span class="p">].</span><span class="n">iter</span><span class="p">().</span><span class="n">max</span><span class="p">().</span><span class="n">unwrap</span><span class="p">()</span>
87484+ <span class="w"> </span><span class="p">}</span>
87485+ <span class="p">}</span>
87486+ </code></pre></div></td></tr></table></div>
87487+ </div>
8739887488</div>
8739987489</div>
8740087490<!-- solution:end -->
@@ -87428,6 +87518,11 @@ <h3 id="solution-1">Solution 1</h3>
8742887518
8742987519 <nav>
8743087520
87521+ <a href="https://github.com/acbin" class="md-author" title="@acbin">
87522+
87523+ <img src="https://avatars.githubusercontent.com/u/44314231?v=4&size=72" alt="acbin">
87524+ </a>
87525+
8743187526 <a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
8743287527
8743387528 <img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
0 commit comments