|
25613 | 25613 | <ul class="md-nav__list">
|
25614 | 25614 |
|
25615 | 25615 | <li class="md-nav__item">
|
25616 |
| - <a href="#solution-1" class="md-nav__link"> |
| 25616 | + <a href="#solution-1-hash-table" class="md-nav__link"> |
25617 | 25617 | <span class="md-ellipsis">
|
25618 |
| - Solution 1 |
| 25618 | + Solution 1: Hash Table |
25619 | 25619 | </span>
|
25620 | 25620 | </a>
|
25621 | 25621 |
|
@@ -87275,8 +87275,13 @@ <h2 id="description">Description</h2>
|
87275 | 87275 | <h2 id="solutions">Solutions</h2>
|
87276 | 87276 | <!-- solution:start -->
|
87277 | 87277 |
|
87278 |
| -<h3 id="solution-1">Solution 1</h3> |
87279 |
| -<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">C#</label></div> |
| 87278 | +<h3 id="solution-1-hash-table">Solution 1: Hash Table</h3> |
| 87279 | +<p>We observe that for position <span class="arithmatex">\(i\)</span>, if <span class="arithmatex">\(\textit{fronts}[i]\)</span> is equal to <span class="arithmatex">\(\textit{backs}[i]\)</span>, then it certainly does not satisfy the condition.</p> |
| 87280 | +<p>Therefore, we first identify all elements that appear the same on both the front and back sides and record them in a hash set <span class="arithmatex">\(s\)</span>.</p> |
| 87281 | +<p>Next, we iterate through all elements in both the front and back arrays. For any element <span class="arithmatex">\(x\)</span> that is <strong>not</strong> in the hash set <span class="arithmatex">\(s\)</span>, we update the minimum value of the answer.</p> |
| 87282 | +<p>Finally, if we find any element that satisfies the condition, we return the minimum answer; otherwise, we return <span class="arithmatex">\(0\)</span>.</p> |
| 87283 | +<p>The time complexity is <span class="arithmatex">\(O(n)\)</span> and the space complexity is <span class="arithmatex">\(O(n)\)</span>, where <span class="arithmatex">\(n\)</span> is the length of the arrays.</p> |
| 87284 | +<div class="tabbed-set tabbed-alternate" data-tabs="1:7"><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" /><input id="__tabbed_1_7" 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><label for="__tabbed_1_7">C#</label></div> |
87280 | 87285 | <div class="tabbed-content">
|
87281 | 87286 | <div class="tabbed-block">
|
87282 | 87287 | <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
|
@@ -87493,6 +87498,72 @@ <h3 id="solution-1">Solution 1</h3>
|
87493 | 87498 | <span class="normal">18</span>
|
87494 | 87499 | <span class="normal">19</span>
|
87495 | 87500 | <span class="normal">20</span>
|
| 87501 | +<span class="normal">21</span> |
| 87502 | +<span class="normal">22</span> |
| 87503 | +<span class="normal">23</span> |
| 87504 | +<span class="normal">24</span> |
| 87505 | +<span class="normal">25</span> |
| 87506 | +<span class="normal">26</span> |
| 87507 | +<span class="normal">27</span> |
| 87508 | +<span class="normal">28</span> |
| 87509 | +<span class="normal">29</span> |
| 87510 | +<span class="normal">30</span> |
| 87511 | +<span class="normal">31</span> |
| 87512 | +<span class="normal">32</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">use</span><span class="w"> </span><span class="n">std</span><span class="p">::</span><span class="n">collections</span><span class="p">::</span><span class="n">HashSet</span><span class="p">;</span> |
| 87513 | + |
| 87514 | +<span class="k">impl</span><span class="w"> </span><span class="n">Solution</span><span class="w"> </span><span class="p">{</span> |
| 87515 | +<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">flipgame</span><span class="p">(</span><span class="n">fronts</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="n">backs</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> |
| 87516 | +<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">fronts</span><span class="p">.</span><span class="n">len</span><span class="p">();</span> |
| 87517 | +<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">s</span><span class="p">:</span><span class="w"> </span><span class="nc">HashSet</span><span class="o"><</span><span class="kt">i32</span><span class="o">></span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">HashSet</span><span class="p">::</span><span class="n">new</span><span class="p">();</span> |
| 87518 | + |
| 87519 | +<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> |
| 87520 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">fronts</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">backs</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="p">{</span> |
| 87521 | +<span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="n">insert</span><span class="p">(</span><span class="n">fronts</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span> |
| 87522 | +<span class="w"> </span><span class="p">}</span> |
| 87523 | +<span class="w"> </span><span class="p">}</span> |
| 87524 | + |
| 87525 | +<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="mi">9999</span><span class="p">;</span> |
| 87526 | +<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="o">&</span><span class="n">v</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">fronts</span><span class="p">.</span><span class="n">iter</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> |
| 87527 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="o">!</span><span class="n">s</span><span class="p">.</span><span class="n">contains</span><span class="p">(</span><span class="o">&</span><span class="n">v</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 87528 | +<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">min</span><span class="p">(</span><span class="n">v</span><span class="p">);</span> |
| 87529 | +<span class="w"> </span><span class="p">}</span> |
| 87530 | +<span class="w"> </span><span class="p">}</span> |
| 87531 | +<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="o">&</span><span class="n">v</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">backs</span><span class="p">.</span><span class="n">iter</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> |
| 87532 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="o">!</span><span class="n">s</span><span class="p">.</span><span class="n">contains</span><span class="p">(</span><span class="o">&</span><span class="n">v</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 87533 | +<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">min</span><span class="p">(</span><span class="n">v</span><span class="p">);</span> |
| 87534 | +<span class="w"> </span><span class="p">}</span> |
| 87535 | +<span class="w"> </span><span class="p">}</span> |
| 87536 | + |
| 87537 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">9999</span><span class="w"> </span><span class="p">{</span> |
| 87538 | +<span class="w"> </span><span class="mi">0</span> |
| 87539 | +<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> |
| 87540 | +<span class="w"> </span><span class="n">ans</span> |
| 87541 | +<span class="w"> </span><span class="p">}</span> |
| 87542 | +<span class="w"> </span><span class="p">}</span> |
| 87543 | +<span class="p">}</span> |
| 87544 | +</code></pre></div></td></tr></table></div> |
| 87545 | +</div> |
| 87546 | +<div class="tabbed-block"> |
| 87547 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
| 87548 | +<span class="normal"> 2</span> |
| 87549 | +<span class="normal"> 3</span> |
| 87550 | +<span class="normal"> 4</span> |
| 87551 | +<span class="normal"> 5</span> |
| 87552 | +<span class="normal"> 6</span> |
| 87553 | +<span class="normal"> 7</span> |
| 87554 | +<span class="normal"> 8</span> |
| 87555 | +<span class="normal"> 9</span> |
| 87556 | +<span class="normal">10</span> |
| 87557 | +<span class="normal">11</span> |
| 87558 | +<span class="normal">12</span> |
| 87559 | +<span class="normal">13</span> |
| 87560 | +<span class="normal">14</span> |
| 87561 | +<span class="normal">15</span> |
| 87562 | +<span class="normal">16</span> |
| 87563 | +<span class="normal">17</span> |
| 87564 | +<span class="normal">18</span> |
| 87565 | +<span class="normal">19</span> |
| 87566 | +<span class="normal">20</span> |
87496 | 87567 | <span class="normal">21</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">public</span><span class="w"> </span><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
|
87497 | 87568 | <span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">Flipgame</span><span class="p">(</span><span class="kt">int</span><span class="p">[]</span><span class="w"> </span><span class="n">fronts</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="p">[]</span><span class="w"> </span><span class="n">backs</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
87498 | 87569 | <span class="w"> </span><span class="kt">var</span><span class="w"> </span><span class="n">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">HashSet</span><span class="o"><</span><span class="kt">int</span><span class="o">></span><span class="p">();</span>
|
|
0 commit comments