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].
8214382143Note 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">-></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">& </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"><=</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"><</span><span class="kt">long</span><span class="w"> </span><span class="kt">long</span><span class="o">></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"><</span><span class="kt">long</span><span class="w"> </span><span class="kt">long</span><span class="o">></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"><=</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">-></span><span class="w"> </span><span class="nb">Vec</span><span class="o"><</span><span class="kt">i64</span><span class="o">></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"><=</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"><</span><span class="kt">long</span><span class="o">></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"><</span><span class="kt">long</span><span class="o">></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"><</span><span class="kt">long</span><span class="o">></span><span class="p">();</span>
0 commit comments