Skip to content

Commit 17e08ef

Browse files
committed
deploy: 2e5b60f
1 parent 72cc8c8 commit 17e08ef

File tree

10 files changed

+7967
-7537
lines changed

10 files changed

+7967
-7537
lines changed

en/lc/3396/index.html

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91307,7 +91307,7 @@ <h3 id="solution-1-hash-table-reverse-traversal">Solution 1: Hash Table + Revers
9130791307
<p>We can traverse the array <span class="arithmatex">\(\textit{nums}\)</span> in reverse order and use a hash table <span class="arithmatex">\(\textit{s}\)</span> to record the elements that have already been traversed. When we encounter an element <span class="arithmatex">\(\textit{nums}[i]\)</span>, if <span class="arithmatex">\(\textit{nums}[i]\)</span> is already in the hash table <span class="arithmatex">\(\textit{s}\)</span>, it means we need to remove all elements from <span class="arithmatex">\(\textit{nums}[0..i]\)</span>. The number of operations required is <span class="arithmatex">\(\left\lfloor \frac{i}{3} \right\rfloor + 1\)</span>. Otherwise, we add <span class="arithmatex">\(\textit{nums}[i]\)</span> to the hash table <span class="arithmatex">\(\textit{s}\)</span> and continue to the next element.</p>
9130891308
<p>After traversing, if no duplicate elements are found, the elements in the array are already distinct, and no operations are needed, so the answer is <span class="arithmatex">\(0\)</span>.</p>
9130991309
<p>The time complexity is <span class="arithmatex">\(O(n)\)</span>, and the space complexity is <span class="arithmatex">\(O(n)\)</span>. Here, <span class="arithmatex">\(n\)</span> is the length of the array <span class="arithmatex">\(\textit{nums}\)</span>.</p>
91310-
<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>
91310+
<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>
9131191311
<div class="tabbed-content">
9131291312
<div class="tabbed-block">
9131391313
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
@@ -91338,15 +91338,13 @@ <h3 id="solution-1-hash-table-reverse-traversal">Solution 1: Hash Table + Revers
9133891338
<span class="normal"> 8</span>
9133991339
<span class="normal"> 9</span>
9134091340
<span class="normal">10</span>
91341-
<span class="normal">11</span>
91342-
<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>
91341+
<span class="normal">11</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>
9134391342
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">minimumOperations</span><span class="p">(</span><span class="kt">int</span><span class="o">[]</span><span class="w"> </span><span class="n">nums</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
9134491343
<span class="w"> </span><span class="n">Set</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</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">&lt;&gt;</span><span class="p">();</span>
9134591344
<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="n">nums</span><span class="p">.</span><span class="na">length</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="mi">0</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>
91346-
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">s</span><span class="p">.</span><span class="na">contains</span><span class="p">(</span><span class="n">nums</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
91345+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">s</span><span class="p">.</span><span class="na">add</span><span class="p">(</span><span class="n">nums</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
9134791346
<span class="w"> </span><span class="k">return</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">3</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
9134891347
<span class="w"> </span><span class="p">}</span>
91349-
<span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="na">add</span><span class="p">(</span><span class="n">nums</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">);</span>
9135091348
<span class="w"> </span><span class="p">}</span>
9135191349
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
9135291350
<span class="w"> </span><span class="p">}</span>
@@ -91425,6 +91423,34 @@ <h3 id="solution-1-hash-table-reverse-traversal">Solution 1: Hash Table + Revers
9142591423
<span class="p">}</span>
9142691424
</code></pre></div></td></tr></table></div>
9142791425
</div>
91426+
<div class="tabbed-block">
91427+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
91428+
<span class="normal"> 2</span>
91429+
<span class="normal"> 3</span>
91430+
<span class="normal"> 4</span>
91431+
<span class="normal"> 5</span>
91432+
<span class="normal"> 6</span>
91433+
<span class="normal"> 7</span>
91434+
<span class="normal"> 8</span>
91435+
<span class="normal"> 9</span>
91436+
<span class="normal">10</span>
91437+
<span class="normal">11</span>
91438+
<span class="normal">12</span>
91439+
<span class="normal">13</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>
91440+
91441+
<span class="k">impl</span><span class="w"> </span><span class="n">Solution</span><span class="w"> </span><span class="p">{</span>
91442+
<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">minimum_operations</span><span class="p">(</span><span class="n">nums</span><span class="p">:</span><span class="w"> </span><span class="nb">Vec</span><span class="o">&lt;</span><span class="kt">i32</span><span class="o">&gt;</span><span class="p">)</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="kt">i32</span><span class="w"> </span><span class="p">{</span>
91443+
<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="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>
91444+
<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="p">(</span><span class="mi">0</span><span class="o">..</span><span class="n">nums</span><span class="p">.</span><span class="n">len</span><span class="p">()).</span><span class="n">rev</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
91445+
<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">insert</span><span class="p">(</span><span class="n">nums</span><span class="p">[</span><span class="n">i</span><span class="p">])</span><span class="w"> </span><span class="p">{</span>
91446+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">3</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="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
91447+
<span class="w"> </span><span class="p">}</span>
91448+
<span class="w"> </span><span class="p">}</span>
91449+
<span class="w"> </span><span class="mi">0</span>
91450+
<span class="w"> </span><span class="p">}</span>
91451+
<span class="p">}</span>
91452+
</code></pre></div></td></tr></table></div>
91453+
</div>
9142891454
</div>
9142991455
</div>
9143091456
<!-- solution:end -->

0 commit comments

Comments
 (0)