Skip to content

Commit 65ab5e0

Browse files
committed
deploy: 0aa2781
1 parent fceecc0 commit 65ab5e0

File tree

8 files changed

+4182
-3636
lines changed

8 files changed

+4182
-3636
lines changed

en/lc/16/index.html

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86050,7 +86050,7 @@ <h2 id="solutions">Solutions</h2>
8605086050
<h3 id="solution-1-sorting-two-pointers">Solution 1: Sorting + Two Pointers</h3>
8605186051
<p>We sort the array first, then traverse the array. For each element $nums[i]$, we use pointers $j$ and $k$ to point to $i+1$ and $n-1$ respectively, calculate the sum of the three numbers. If the sum of the three numbers equals $target$, we directly return $target$. Otherwise, we update the answer based on the difference from $target$. If the sum of the three numbers is greater than $target$, we move $k$ one place to the left, otherwise, we move $j$ one place to the right.</p>
8605286052
<p>The time complexity is $O(n^2)$, and the space complexity is $O(\log n)$. Here, $n$ is the length of the array.</p>
86053-
<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">PHP</label></div>
86053+
<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">TypeScript</label><label for="__tabbed_1_6">JavaScript</label><label for="__tabbed_1_7">C#</label><label for="__tabbed_1_8">PHP</label></div>
8605486054
<div class="tabbed-content">
8605586055
<div class="tabbed-block">
8605686056
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -86383,6 +86383,58 @@ <h3 id="solution-1-sorting-two-pointers">Solution 1: Sorting + Two Pointers</h3>
8638386383
<span class="normal">22</span>
8638486384
<span class="normal">23</span>
8638586385
<span class="normal">24</span>
86386+
<span class="normal">25</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>
86387+
<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">ThreeSumClosest</span><span class="p">(</span><span class="kt">int</span><span class="p">[]</span><span class="w"> </span><span class="n">nums</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">target</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86388+
<span class="w"> </span><span class="n">Array</span><span class="p">.</span><span class="n">Sort</span><span class="p">(</span><span class="n">nums</span><span class="p">);</span>
86389+
<span class="w"> </span><span class="kt">int</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">1</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">30</span><span class="p">;</span>
86390+
<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">nums</span><span class="p">.</span><span class="n">Length</span><span class="p">;</span>
86391+
<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">&lt;</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>
86392+
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">=</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">1</span><span class="p">,</span><span class="w"> </span><span class="n">k</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
86393+
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">j</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">k</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86394+
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </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="o">+</span><span class="w"> </span><span class="n">nums</span><span class="p">[</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">nums</span><span class="p">[</span><span class="n">k</span><span class="p">];</span>
86395+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">t</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">target</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86396+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">t</span><span class="p">;</span>
86397+
<span class="w"> </span><span class="p">}</span>
86398+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">Math</span><span class="p">.</span><span class="n">Abs</span><span class="p">(</span><span class="n">t</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">target</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">Math</span><span class="p">.</span><span class="n">Abs</span><span class="p">(</span><span class="n">ans</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">target</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
86399+
<span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t</span><span class="p">;</span>
86400+
<span class="w"> </span><span class="p">}</span>
86401+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">t</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">target</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86402+
<span class="w"> </span><span class="o">--</span><span class="n">k</span><span class="p">;</span>
86403+
<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>
86404+
<span class="w"> </span><span class="o">++</span><span class="n">j</span><span class="p">;</span>
86405+
<span class="w"> </span><span class="p">}</span>
86406+
<span class="w"> </span><span class="p">}</span>
86407+
<span class="w"> </span><span class="p">}</span>
86408+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ans</span><span class="p">;</span>
86409+
<span class="w"> </span><span class="p">}</span>
86410+
<span class="p">}</span>
86411+
</code></pre></div></td></tr></table></div>
86412+
</div>
86413+
<div class="tabbed-block">
86414+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86415+
<span class="normal"> 2</span>
86416+
<span class="normal"> 3</span>
86417+
<span class="normal"> 4</span>
86418+
<span class="normal"> 5</span>
86419+
<span class="normal"> 6</span>
86420+
<span class="normal"> 7</span>
86421+
<span class="normal"> 8</span>
86422+
<span class="normal"> 9</span>
86423+
<span class="normal">10</span>
86424+
<span class="normal">11</span>
86425+
<span class="normal">12</span>
86426+
<span class="normal">13</span>
86427+
<span class="normal">14</span>
86428+
<span class="normal">15</span>
86429+
<span class="normal">16</span>
86430+
<span class="normal">17</span>
86431+
<span class="normal">18</span>
86432+
<span class="normal">19</span>
86433+
<span class="normal">20</span>
86434+
<span class="normal">21</span>
86435+
<span class="normal">22</span>
86436+
<span class="normal">23</span>
86437+
<span class="normal">24</span>
8638686438
<span class="normal">25</span>
8638786439
<span class="normal">26</span>
8638886440
<span class="normal">27</span>
@@ -86469,6 +86521,11 @@ <h3 id="solution-1-sorting-two-pointers">Solution 1: Sorting + Two Pointers</h3>
8646986521

8647086522
<nav>
8647186523

86524+
<a href="https://github.com/djvelimir" class="md-author" title="@djvelimir">
86525+
86526+
<img src="https://avatars.githubusercontent.com/u/20823832?v=4&size=72" alt="djvelimir">
86527+
</a>
86528+
8647286529
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
8647386530

8647486531
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">

0 commit comments

Comments
 (0)