@@ -91330,7 +91330,7 @@ <h3 id="solution-1-hash-table">Solution 1: Hash Table</h3>
91330
91330
<p>According to the problem description, we can choose the second largest value in the current array as the valid integer <span class="arithmatex">\(h\)</span> each time, and change all numbers greater than <span class="arithmatex">\(h\)</span> to <span class="arithmatex">\(h\)</span>. This minimizes the number of operations. Additionally, since the operation reduces the numbers, if there are numbers in the current array smaller than <span class="arithmatex">\(k\)</span>, we cannot make all numbers equal to <span class="arithmatex">\(k\)</span>, so we directly return -1.</p>
91331
91331
<p>We iterate through the array <span class="arithmatex">\(\textit{nums}\)</span>. For the current number <span class="arithmatex">\(x\)</span>, if <span class="arithmatex">\(x < k\)</span>, we directly return -1. Otherwise, we add <span class="arithmatex">\(x\)</span> to the hash table and update the minimum value <span class="arithmatex">\(\textit{mi}\)</span> in the current array. Finally, we return the size of the hash table minus 1 (if <span class="arithmatex">\(\textit{mi} = k\)</span>, we need to subtract 1).</p>
91332
91332
<p>Time complexity is <span class="arithmatex">\(O(n)\)</span>, and space complexity is <span class="arithmatex">\(O(n)\)</span>, where <span class="arithmatex">\(n\)</span> is the length of the array <span class="arithmatex">\(\textit{nums}\)</span>.</p>
91333
- <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>
91333
+ <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">JavaScript</label><label for="__tabbed_1_7 ">Rust</label></div>
91334
91334
<div class="tabbed-content">
91335
91335
<div class="tabbed-block">
91336
91336
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -91449,28 +91449,38 @@ <h3 id="solution-1-hash-table">Solution 1: Hash Table</h3>
91449
91449
</code></pre></div></td></tr></table></div>
91450
91450
</div>
91451
91451
<div class="tabbed-block">
91452
- <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
91453
- <span class="normal"> 2</span>
91454
- <span class="normal"> 3</span>
91455
- <span class="normal"> 4</span>
91456
- <span class="normal"> 5</span>
91457
- <span class="normal"> 6</span>
91458
- <span class="normal"> 7</span>
91459
- <span class="normal"> 8</span>
91460
- <span class="normal"> 9</span>
91461
- <span class="normal">10</span>
91462
- <span class="normal">11</span>
91463
- <span class="normal">12</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">minOperations</span><span class="p">(</span><span class="nx">nums</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">k</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>
91464
- <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">s</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">Set</span><span class="o"><</span><span class="kt">number</span><span class="o">></span><span class="p">();</span>
91465
- <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="kc">Infinity</span><span class="p">;</span>
91452
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
91453
+ <span class="normal">2</span>
91454
+ <span class="normal">3</span>
91455
+ <span class="normal">4</span>
91456
+ <span class="normal">5</span>
91457
+ <span class="normal">6</span>
91458
+ <span class="normal">7</span>
91459
+ <span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">minOperations</span><span class="p">(</span><span class="nx">nums</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">k</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>
91460
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">s</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">Set</span><span class="o"><</span><span class="kt">number</span><span class="o">></span><span class="p">([</span><span class="nx">k</span><span class="p">]);</span>
91466
91461
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="nx">x</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">nums</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91467
- <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">x</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="p">{</span>
91468
- <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">;</span>
91469
- <span class="w"> </span><span class="p">}</span>
91462
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">x</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="k">return</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">;</span>
91470
91463
<span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="nx">x</span><span class="p">);</span>
91471
- <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">x</span><span class="p">);</span>
91472
91464
<span class="w"> </span><span class="p">}</span>
91473
- <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">size</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="p">(</span><span class="nx">mi</span><span class="w"> </span><span class="o">===</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">1</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="kt">0</span><span class="p">);</span>
91465
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">size</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">;</span>
91466
+ <span class="p">}</span>
91467
+ </code></pre></div></td></tr></table></div>
91468
+ </div>
91469
+ <div class="tabbed-block">
91470
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
91471
+ <span class="normal">2</span>
91472
+ <span class="normal">3</span>
91473
+ <span class="normal">4</span>
91474
+ <span class="normal">5</span>
91475
+ <span class="normal">6</span>
91476
+ <span class="normal">7</span>
91477
+ <span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">minOperations</span><span class="p">(</span><span class="nx">nums</span><span class="p">,</span><span class="w"> </span><span class="nx">k</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91478
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">s</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">Set</span><span class="p">([</span><span class="nx">k</span><span class="p">]);</span>
91479
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="nx">x</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">nums</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91480
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">x</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="k">return</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">;</span>
91481
+ <span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="nx">x</span><span class="p">);</span>
91482
+ <span class="w"> </span><span class="p">}</span>
91483
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">size</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">;</span>
91474
91484
<span class="p">}</span>
91475
91485
</code></pre></div></td></tr></table></div>
91476
91486
</div>
@@ -91545,6 +91555,11 @@ <h3 id="solution-1-hash-table">Solution 1: Hash Table</h3>
91545
91555
91546
91556
<nav>
91547
91557
91558
+ <a href="https://github.com/rain84" class="md-author" title="@rain84">
91559
+
91560
+ <img src="https://avatars.githubusercontent.com/u/1732547?v=4&size=72" alt="rain84">
91561
+ </a>
91562
+
91548
91563
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
91549
91564
91550
91565
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
0 commit comments