@@ -80402,7 +80402,7 @@ <h3 id="_3">方法一:二分查找</h3>
80402
80402
<p>循环结束时,指针 $l$ 和 $r$ 指向同一个元素,即为最小值。</p>
80403
80403
<p>时间复杂度 $(\log n)$,空间复杂度 $O(1)$。其中 $n$ 为数组长度。</p>
80404
80404
<p>注意,我们也可以每次取中间元素 <code>numbers[mid]</code> 与左端元素 <code>numbers[l]</code> 比较,但需要考虑当前 $[l,..r]$ 区间内的元素是否已经有序,即是否满足 <code>numbers[l] < numbers[r]</code>,如果满足,直接返回 <code>numbers[l]</code> 即可。其它情况与上述方法类似。</p>
80405
- <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">Rust</label><label for="__tabbed_1_6">JavaScript</label><label for="__tabbed_1_7">C#</label></div>
80405
+ <div class="tabbed-set tabbed-alternate" data-tabs="1:8 "><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" /><input id="__tabbed_1_8" 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">Rust</label><label for="__tabbed_1_6">JavaScript</label><label for="__tabbed_1_7">C#</label><label for="__tabbed_1_8">Swift </label></div>
80406
80406
<div class="tabbed-content">
80407
80407
<div class="tabbed-block">
80408
80408
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -80648,6 +80648,42 @@ <h3 id="_3">方法一:二分查找</h3>
80648
80648
<span class="p">}</span>
80649
80649
</code></pre></div></td></tr></table></div>
80650
80650
</div>
80651
+ <div class="tabbed-block">
80652
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
80653
+ <span class="normal"> 2</span>
80654
+ <span class="normal"> 3</span>
80655
+ <span class="normal"> 4</span>
80656
+ <span class="normal"> 5</span>
80657
+ <span class="normal"> 6</span>
80658
+ <span class="normal"> 7</span>
80659
+ <span class="normal"> 8</span>
80660
+ <span class="normal"> 9</span>
80661
+ <span class="normal">10</span>
80662
+ <span class="normal">11</span>
80663
+ <span class="normal">12</span>
80664
+ <span class="normal">13</span>
80665
+ <span class="normal">14</span>
80666
+ <span class="normal">15</span>
80667
+ <span class="normal">16</span>
80668
+ <span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span> <span class="nc">Solution</span> <span class="p">{</span>
80669
+ <span class="kd">func</span> <span class="nf">minArray</span><span class="p">(</span><span class="kc">_</span> <span class="n">numbers</span><span class="p">:</span> <span class="p">[</span><span class="nb">Int</span><span class="p">])</span> <span class="p">-></span> <span class="nb">Int</span> <span class="p">{</span>
80670
+ <span class="kd">var</span> <span class="nv">l</span> <span class="p">=</span> <span class="mi">0</span>
80671
+ <span class="kd">var</span> <span class="nv">r</span> <span class="p">=</span> <span class="n">numbers</span><span class="p">.</span><span class="bp">count</span> <span class="o">-</span> <span class="mi">1</span>
80672
+ <span class="k">while</span> <span class="n">l</span> <span class="o"><</span> <span class="n">r</span> <span class="p">{</span>
80673
+ <span class="kd">let</span> <span class="nv">m</span> <span class="p">=</span> <span class="p">(</span><span class="n">l</span> <span class="o">+</span> <span class="n">r</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
80674
+ <span class="k">if</span> <span class="n">numbers</span><span class="p">[</span><span class="n">m</span><span class="p">]</span> <span class="o">></span> <span class="n">numbers</span><span class="p">[</span><span class="n">r</span><span class="p">]</span> <span class="p">{</span>
80675
+ <span class="n">l</span> <span class="p">=</span> <span class="n">m</span> <span class="o">+</span> <span class="mi">1</span>
80676
+ <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="n">numbers</span><span class="p">[</span><span class="n">m</span><span class="p">]</span> <span class="o"><</span> <span class="n">numbers</span><span class="p">[</span><span class="n">r</span><span class="p">]</span> <span class="p">{</span>
80677
+ <span class="n">r</span> <span class="p">=</span> <span class="n">m</span>
80678
+ <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
80679
+ <span class="n">r</span> <span class="o">-=</span> <span class="mi">1</span>
80680
+ <span class="p">}</span>
80681
+ <span class="p">}</span>
80682
+ <span class="k">return</span> <span class="n">numbers</span><span class="p">[</span><span class="n">l</span><span class="p">]</span>
80683
+ <span class="p">}</span>
80684
+ <span class="p">}</span>
80685
+ </code></pre></div></td></tr></table></div>
80686
+ </div>
80651
80687
</div>
80652
80688
</div>
80653
80689
<!-- solution:end -->
@@ -80974,6 +81010,11 @@ <h3 id="_4">方法二</h3>
80974
81010
80975
81011
<nav>
80976
81012
81013
+ <a href="https://github.com/klever34" class="md-author" title="@klever34">
81014
+
81015
+ <img src="https://avatars.githubusercontent.com/u/12745225?v=4&size=72" alt="klever34">
81016
+ </a>
81017
+
80977
81018
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
80978
81019
80979
81020
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
@@ -80989,16 +81030,11 @@ <h3 id="_4">方法二</h3>
80989
81030
<img src="https://avatars.githubusercontent.com/u/70502828?v=4&size=72" alt="YangFong">
80990
81031
</a>
80991
81032
80992
- <a href="https://github.com/maolonglong" class="md-author" title="@maolonglong">
80993
-
80994
- <img src="https://avatars.githubusercontent.com/u/50797868?v=4&size=72" alt="maolonglong">
80995
- </a>
80996
-
80997
81033
80998
81034
80999
81035
81000
81036
<a href="https://github.com/doocs/leetcode/blob/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9811.%20%E6%97%8B%E8%BD%AC%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%B0%8F%E6%95%B0%E5%AD%97/README.md" class="md-author md-author--more">
81001
- +2
81037
+ +3
81002
81038
</a>
81003
81039
81004
81040
0 commit comments