|
84591 | 84591 | <ul class="md-nav__list">
|
84592 | 84592 |
|
84593 | 84593 | <li class="md-nav__item">
|
84594 |
| - <a href="#solution-1" class="md-nav__link"> |
| 84594 | + <a href="#solution-1-brain-teaser" class="md-nav__link"> |
84595 | 84595 | <span class="md-ellipsis">
|
84596 |
| - Solution 1 |
| 84596 | + Solution 1: Brain Teaser |
84597 | 84597 | </span>
|
84598 | 84598 | </a>
|
84599 | 84599 |
|
@@ -87494,23 +87494,129 @@ <h2 id="description">Description</h2>
|
87494 | 87494 | <h2 id="solutions">Solutions</h2>
|
87495 | 87495 | <!-- solution:start -->
|
87496 | 87496 |
|
87497 |
| -<h3 id="solution-1">Solution 1</h3> |
87498 |
| -<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> |
| 87497 | +<h3 id="solution-1-brain-teaser">Solution 1: Brain Teaser</h3> |
| 87498 | +<p>According to the problem description, the minimum cost for each position <span class="arithmatex">\(i\)</span> is the minimum cost from <span class="arithmatex">\(0\)</span> to <span class="arithmatex">\(i\)</span>. We can use a variable <span class="arithmatex">\(\textit{mi}\)</span> to record the minimum cost from <span class="arithmatex">\(0\)</span> to <span class="arithmatex">\(i\)</span>.</p> |
| 87499 | +<p>Starting from <span class="arithmatex">\(0\)</span>, we iterate through each position <span class="arithmatex">\(i\)</span>, updating <span class="arithmatex">\(\textit{mi}\)</span> as <span class="arithmatex">\(\text{min}(\textit{mi}, \text{cost}[i])\)</span> at each step, and assign <span class="arithmatex">\(\textit{mi}\)</span> to the <span class="arithmatex">\(i\)</span>-th position of the answer array.</p> |
| 87500 | +<p>Finally, return the answer array.</p> |
| 87501 | +<p>Time complexity is <span class="arithmatex">\(O(n)\)</span>, where <span class="arithmatex">\(n\)</span> is the length of the array <span class="arithmatex">\(\textit{cost}\)</span>. Ignoring the space used by the answer array, the space complexity is <span class="arithmatex">\(O(1)\)</span>.</p> |
| 87502 | +<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> |
87499 | 87503 | <div class="tabbed-content">
|
87500 | 87504 | <div class="tabbed-block">
|
87501 |
| -<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code> |
| 87505 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> |
| 87506 | +<span class="normal">2</span> |
| 87507 | +<span class="normal">3</span> |
| 87508 | +<span class="normal">4</span> |
| 87509 | +<span class="normal">5</span> |
| 87510 | +<span class="normal">6</span> |
| 87511 | +<span class="normal">7</span> |
| 87512 | +<span class="normal">8</span> |
| 87513 | +<span class="normal">9</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="p">:</span> |
| 87514 | + <span class="k">def</span><span class="w"> </span><span class="nf">minCosts</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cost</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">])</span> <span class="o">-></span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]:</span> |
| 87515 | + <span class="n">n</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">cost</span><span class="p">)</span> |
| 87516 | + <span class="n">ans</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">n</span> |
| 87517 | + <span class="n">mi</span> <span class="o">=</span> <span class="n">cost</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
| 87518 | + <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">cost</span><span class="p">):</span> |
| 87519 | + <span class="n">mi</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">mi</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span> |
| 87520 | + <span class="n">ans</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">mi</span> |
| 87521 | + <span class="k">return</span> <span class="n">ans</span> |
87502 | 87522 | </code></pre></div></td></tr></table></div>
|
87503 | 87523 | </div>
|
87504 | 87524 | <div class="tabbed-block">
|
87505 |
| -<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code> |
| 87525 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
| 87526 | +<span class="normal"> 2</span> |
| 87527 | +<span class="normal"> 3</span> |
| 87528 | +<span class="normal"> 4</span> |
| 87529 | +<span class="normal"> 5</span> |
| 87530 | +<span class="normal"> 6</span> |
| 87531 | +<span class="normal"> 7</span> |
| 87532 | +<span class="normal"> 8</span> |
| 87533 | +<span class="normal"> 9</span> |
| 87534 | +<span class="normal">10</span> |
| 87535 | +<span class="normal">11</span> |
| 87536 | +<span class="normal">12</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span> <span class="nc">Solution</span><span class="w"> </span><span class="p">{</span> |
| 87537 | +<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">int</span><span class="o">[]</span><span class="w"> </span><span class="nf">minCosts</span><span class="p">(</span><span class="kt">int</span><span class="o">[]</span><span class="w"> </span><span class="n">cost</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 87538 | +<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">cost</span><span class="p">.</span><span class="na">length</span><span class="p">;</span> |
| 87539 | +<span class="w"> </span><span class="kt">int</span><span class="o">[]</span><span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="kt">int</span><span class="o">[</span><span class="n">n</span><span class="o">]</span><span class="p">;</span> |
| 87540 | +<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">mi</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">cost</span><span class="o">[</span><span class="mi">0</span><span class="o">]</span><span class="p">;</span> |
| 87541 | +<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">n</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 87542 | +<span class="w"> </span><span class="n">mi</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Math</span><span class="p">.</span><span class="na">min</span><span class="p">(</span><span class="n">mi</span><span class="p">,</span><span class="w"> </span><span class="n">cost</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">);</span> |
| 87543 | +<span class="w"> </span><span class="n">ans</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mi</span><span class="p">;</span> |
| 87544 | +<span class="w"> </span><span class="p">}</span> |
| 87545 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ans</span><span class="p">;</span> |
| 87546 | +<span class="w"> </span><span class="p">}</span> |
| 87547 | +<span class="p">}</span> |
87506 | 87548 | </code></pre></div></td></tr></table></div>
|
87507 | 87549 | </div>
|
87508 | 87550 | <div class="tabbed-block">
|
87509 |
| -<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code> |
| 87551 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
| 87552 | +<span class="normal"> 2</span> |
| 87553 | +<span class="normal"> 3</span> |
| 87554 | +<span class="normal"> 4</span> |
| 87555 | +<span class="normal"> 5</span> |
| 87556 | +<span class="normal"> 6</span> |
| 87557 | +<span class="normal"> 7</span> |
| 87558 | +<span class="normal"> 8</span> |
| 87559 | +<span class="normal"> 9</span> |
| 87560 | +<span class="normal">10</span> |
| 87561 | +<span class="normal">11</span> |
| 87562 | +<span class="normal">12</span> |
| 87563 | +<span class="normal">13</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> |
| 87564 | +<span class="k">public</span><span class="o">:</span> |
| 87565 | +<span class="w"> </span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">></span><span class="w"> </span><span class="n">minCosts</span><span class="p">(</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">>&</span><span class="w"> </span><span class="n">cost</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 87566 | +<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">cost</span><span class="p">.</span><span class="n">size</span><span class="p">();</span> |
| 87567 | +<span class="w"> </span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">></span><span class="w"> </span><span class="n">ans</span><span class="p">(</span><span class="n">n</span><span class="p">);</span> |
| 87568 | +<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">mi</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">cost</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> |
| 87569 | +<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">n</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 87570 | +<span class="w"> </span><span class="n">mi</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">min</span><span class="p">(</span><span class="n">mi</span><span class="p">,</span><span class="w"> </span><span class="n">cost</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span> |
| 87571 | +<span class="w"> </span><span class="n">ans</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mi</span><span class="p">;</span> |
| 87572 | +<span class="w"> </span><span class="p">}</span> |
| 87573 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ans</span><span class="p">;</span> |
| 87574 | +<span class="w"> </span><span class="p">}</span> |
| 87575 | +<span class="p">};</span> |
87510 | 87576 | </code></pre></div></td></tr></table></div>
|
87511 | 87577 | </div>
|
87512 | 87578 | <div class="tabbed-block">
|
87513 |
| -<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code> |
| 87579 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
| 87580 | +<span class="normal"> 2</span> |
| 87581 | +<span class="normal"> 3</span> |
| 87582 | +<span class="normal"> 4</span> |
| 87583 | +<span class="normal"> 5</span> |
| 87584 | +<span class="normal"> 6</span> |
| 87585 | +<span class="normal"> 7</span> |
| 87586 | +<span class="normal"> 8</span> |
| 87587 | +<span class="normal"> 9</span> |
| 87588 | +<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">func</span><span class="w"> </span><span class="nx">minCosts</span><span class="p">(</span><span class="nx">cost</span><span class="w"> </span><span class="p">[]</span><span class="kt">int</span><span class="p">)</span><span class="w"> </span><span class="p">[]</span><span class="kt">int</span><span class="w"> </span><span class="p">{</span> |
| 87589 | +<span class="w"> </span><span class="nx">n</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nb">len</span><span class="p">(</span><span class="nx">cost</span><span class="p">)</span> |
| 87590 | +<span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nb">make</span><span class="p">([]</span><span class="kt">int</span><span class="p">,</span><span class="w"> </span><span class="nx">n</span><span class="p">)</span> |
| 87591 | +<span class="w"> </span><span class="nx">mi</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">cost</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
| 87592 | +<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="nx">i</span><span class="p">,</span><span class="w"> </span><span class="nx">c</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="nx">cost</span><span class="w"> </span><span class="p">{</span> |
| 87593 | +<span class="w"> </span><span class="nx">mi</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nb">min</span><span class="p">(</span><span class="nx">mi</span><span class="p">,</span><span class="w"> </span><span class="nx">c</span><span class="p">)</span> |
| 87594 | +<span class="w"> </span><span class="nx">ans</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nx">mi</span> |
| 87595 | +<span class="w"> </span><span class="p">}</span> |
| 87596 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span> |
| 87597 | +<span class="p">}</span> |
| 87598 | +</code></pre></div></td></tr></table></div> |
| 87599 | +</div> |
| 87600 | +<div class="tabbed-block"> |
| 87601 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
| 87602 | +<span class="normal"> 2</span> |
| 87603 | +<span class="normal"> 3</span> |
| 87604 | +<span class="normal"> 4</span> |
| 87605 | +<span class="normal"> 5</span> |
| 87606 | +<span class="normal"> 6</span> |
| 87607 | +<span class="normal"> 7</span> |
| 87608 | +<span class="normal"> 8</span> |
| 87609 | +<span class="normal"> 9</span> |
| 87610 | +<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">minCosts</span><span class="p">(</span><span class="nx">cost</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="p">[]</span><span class="w"> </span><span class="p">{</span> |
| 87611 | +<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">cost</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> |
| 87612 | +<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">ans</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="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> |
| 87613 | +<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">mi</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">cost</span><span class="p">[</span><span class="mf">0</span><span class="p">];</span> |
| 87614 | +<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> |
| 87615 | +<span class="w"> </span><span class="nx">mi</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">min</span><span class="p">(</span><span class="nx">mi</span><span class="p">,</span><span class="w"> </span><span class="nx">cost</span><span class="p">[</span><span class="nx">i</span><span class="p">]);</span> |
| 87616 | +<span class="w"> </span><span class="nx">ans</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">mi</span><span class="p">;</span> |
| 87617 | +<span class="w"> </span><span class="p">}</span> |
| 87618 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span><span class="p">;</span> |
| 87619 | +<span class="p">}</span> |
87514 | 87620 | </code></pre></div></td></tr></table></div>
|
87515 | 87621 | </div>
|
87516 | 87622 | </div>
|
|
0 commit comments