Skip to content

Commit e16cea9

Browse files
committed
deploy: bc9bb96
1 parent fea88bf commit e16cea9

File tree

4 files changed

+108
-21
lines changed

4 files changed

+108
-21
lines changed

en/lc/2178/index.html

Lines changed: 55 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53126,9 +53126,9 @@
5312653126
<ul class="md-nav__list">
5312753127

5312853128
<li class="md-nav__item">
53129-
<a href="#solution-1" class="md-nav__link">
53129+
<a href="#solution-1-greedy" class="md-nav__link">
5313053130
<span class="md-ellipsis">
53131-
Solution 1
53131+
Solution 1: Greedy
5313253132
</span>
5313353133
</a>
5313453134

@@ -82138,7 +82138,7 @@ <h2 id="description">Description</h2>
8213882138
<pre>
8213982139
<strong>Input:</strong> finalSum = 28
8214082140
<strong>Output:</strong> [6,8,2,12]
82141-
<strong>Explanation:</strong> The following are valid splits: (2 + 26), (6 + 8 + 2 + 12), and (4 + 24).
82141+
<strong>Explanation:</strong> The following are valid splits: (2 + 26), (6 + 8 + 2 + 12), and (4 + 24).
8214282142
(6 + 8 + 2 + 12) has the maximum number of integers, which is 4. Thus, we return [6,8,2,12].
8214382143
Note that [10,2,4,12], [6,2,4,16], etc. are also accepted.
8214482144
</pre>
@@ -82155,8 +82155,11 @@ <h2 id="description">Description</h2>
8215582155
<h2 id="solutions">Solutions</h2>
8215682156
<!-- solution:start -->
8215782157

82158-
<h3 id="solution-1">Solution 1</h3>
82159-
<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>
82158+
<h3 id="solution-1-greedy">Solution 1: Greedy</h3>
82159+
<p>If $\textit{finalSum}$ is odd, it cannot be split into the sum of several distinct positive even integers, so we directly return an empty array.</p>
82160+
<p>Otherwise, we can greedily split $\textit{finalSum}$ in the order of $2, 4, 6, \cdots$, until $\textit{finalSum}$ can no longer be split into a different positive even integer. At this point, we add the remaining $\textit{finalSum}$ to the last positive even integer.</p>
82161+
<p>The time complexity is $O(\sqrt{\textit{finalSum}})$, and ignoring the space consumption of the answer array, the space complexity is $O(1)$.</p>
82162+
<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>
8216082163
<div class="tabbed-content">
8216182164
<div class="tabbed-block">
8216282165
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -82172,13 +82175,13 @@ <h3 id="solution-1">Solution 1</h3>
8217282175
<span class="normal">11</span>
8217382176
<span class="normal">12</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="p">:</span>
8217482177
<span class="k">def</span><span class="w"> </span><span class="nf">maximumEvenSplit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">finalSum</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]:</span>
82175-
<span class="k">if</span> <span class="n">finalSum</span> <span class="o">%</span> <span class="mi">2</span><span class="p">:</span>
82178+
<span class="k">if</span> <span class="n">finalSum</span> <span class="o">&amp;</span> <span class="mi">1</span><span class="p">:</span>
8217682179
<span class="k">return</span> <span class="p">[]</span>
82177-
<span class="n">i</span> <span class="o">=</span> <span class="mi">2</span>
8217882180
<span class="n">ans</span> <span class="o">=</span> <span class="p">[]</span>
82181+
<span class="n">i</span> <span class="o">=</span> <span class="mi">2</span>
8217982182
<span class="k">while</span> <span class="n">i</span> <span class="o">&lt;=</span> <span class="n">finalSum</span><span class="p">:</span>
82180-
<span class="n">ans</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
8218182183
<span class="n">finalSum</span> <span class="o">-=</span> <span class="n">i</span>
82184+
<span class="n">ans</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
8218282185
<span class="n">i</span> <span class="o">+=</span> <span class="mi">2</span>
8218382186
<span class="n">ans</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">+=</span> <span class="n">finalSum</span>
8218482187
<span class="k">return</span> <span class="n">ans</span>
@@ -82227,11 +82230,15 @@ <h3 id="solution-1">Solution 1</h3>
8222782230
<span class="normal">10</span>
8222882231
<span class="normal">11</span>
8222982232
<span class="normal">12</span>
82230-
<span class="normal">13</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
82233+
<span class="normal">13</span>
82234+
<span class="normal">14</span>
82235+
<span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
8223182236
<span class="k">public</span><span class="o">:</span>
8223282237
<span class="w"> </span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">long</span><span class="w"> </span><span class="kt">long</span><span class="o">&gt;</span><span class="w"> </span><span class="n">maximumEvenSplit</span><span class="p">(</span><span class="kt">long</span><span class="w"> </span><span class="kt">long</span><span class="w"> </span><span class="n">finalSum</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
8223382238
<span class="w"> </span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">long</span><span class="w"> </span><span class="kt">long</span><span class="o">&gt;</span><span class="w"> </span><span class="n">ans</span><span class="p">;</span>
82234-
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">finalSum</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ans</span><span class="p">;</span>
82239+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">finalSum</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
82240+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ans</span><span class="p">;</span>
82241+
<span class="w"> </span><span class="p">}</span>
8223582242
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">long</span><span class="w"> </span><span class="kt">long</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">2</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">finalSum</span><span class="p">;</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">2</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
8223682243
<span class="w"> </span><span class="n">ans</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="n">i</span><span class="p">);</span>
8223782244
<span class="w"> </span><span class="n">finalSum</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="n">i</span><span class="p">;</span>
@@ -82306,6 +82313,44 @@ <h3 id="solution-1">Solution 1</h3>
8230682313
<span class="normal">11</span>
8230782314
<span class="normal">12</span>
8230882315
<span class="normal">13</span>
82316+
<span class="normal">14</span>
82317+
<span class="normal">15</span>
82318+
<span class="normal">16</span>
82319+
<span class="normal">17</span>
82320+
<span class="normal">18</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">impl</span><span class="w"> </span><span class="n">Solution</span><span class="w"> </span><span class="p">{</span>
82321+
<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">maximum_even_split</span><span class="p">(</span><span class="k">mut</span><span class="w"> </span><span class="n">final_sum</span><span class="p">:</span><span class="w"> </span><span class="kt">i64</span><span class="p">)</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="nb">Vec</span><span class="o">&lt;</span><span class="kt">i64</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span>
82322+
<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="nb">Vec</span><span class="p">::</span><span class="n">new</span><span class="p">();</span>
82323+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">final_sum</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="p">{</span>
82324+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ans</span><span class="p">;</span>
82325+
<span class="w"> </span><span class="p">}</span>
82326+
<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">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span>
82327+
<span class="w"> </span><span class="k">while</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">final_sum</span><span class="w"> </span><span class="p">{</span>
82328+
<span class="w"> </span><span class="n">ans</span><span class="p">.</span><span class="n">push</span><span class="p">(</span><span class="n">i</span><span class="p">);</span>
82329+
<span class="w"> </span><span class="n">final_sum</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="n">i</span><span class="p">;</span>
82330+
<span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span>
82331+
<span class="w"> </span><span class="p">}</span>
82332+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nb">Some</span><span class="p">(</span><span class="n">last</span><span class="p">)</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">last_mut</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
82333+
<span class="w"> </span><span class="o">*</span><span class="n">last</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">final_sum</span><span class="p">;</span>
82334+
<span class="w"> </span><span class="p">}</span>
82335+
<span class="w"> </span><span class="n">ans</span>
82336+
<span class="w"> </span><span class="p">}</span>
82337+
<span class="p">}</span>
82338+
</code></pre></div></td></tr></table></div>
82339+
</div>
82340+
<div class="tabbed-block">
82341+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
82342+
<span class="normal"> 2</span>
82343+
<span class="normal"> 3</span>
82344+
<span class="normal"> 4</span>
82345+
<span class="normal"> 5</span>
82346+
<span class="normal"> 6</span>
82347+
<span class="normal"> 7</span>
82348+
<span class="normal"> 8</span>
82349+
<span class="normal"> 9</span>
82350+
<span class="normal">10</span>
82351+
<span class="normal">11</span>
82352+
<span class="normal">12</span>
82353+
<span class="normal">13</span>
8230982354
<span class="normal">14</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>
8231082355
<span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="n">IList</span><span class="o">&lt;</span><span class="kt">long</span><span class="o">&gt;</span><span class="w"> </span><span class="n">MaximumEvenSplit</span><span class="p">(</span><span class="kt">long</span><span class="w"> </span><span class="n">finalSum</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
8231182356
<span class="w"> </span><span class="n">IList</span><span class="o">&lt;</span><span class="kt">long</span><span class="o">&gt;</span><span class="w"> </span><span class="n">ans</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">List</span><span class="o">&lt;</span><span class="kt">long</span><span class="o">&gt;</span><span class="p">();</span>

en/search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)