Skip to content

Commit 81a4ff8

Browse files
committed
deploy: d423cc1
1 parent cb18095 commit 81a4ff8

File tree

4 files changed

+185
-5
lines changed

4 files changed

+185
-5
lines changed

en/lc/3422/index.html

Lines changed: 91 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82198,7 +82198,97 @@ <h3 id="solution-1-ordered-set">Solution 1: Ordered Set</h3>
8219882198
</code></pre></div></td></tr></table></div>
8219982199
</div>
8220082200
<div class="tabbed-block">
82201-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code>
82201+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
82202+
<span class="normal"> 2</span>
82203+
<span class="normal"> 3</span>
82204+
<span class="normal"> 4</span>
82205+
<span class="normal"> 5</span>
82206+
<span class="normal"> 6</span>
82207+
<span class="normal"> 7</span>
82208+
<span class="normal"> 8</span>
82209+
<span class="normal"> 9</span>
82210+
<span class="normal">10</span>
82211+
<span class="normal">11</span>
82212+
<span class="normal">12</span>
82213+
<span class="normal">13</span>
82214+
<span class="normal">14</span>
82215+
<span class="normal">15</span>
82216+
<span class="normal">16</span>
82217+
<span class="normal">17</span>
82218+
<span class="normal">18</span>
82219+
<span class="normal">19</span>
82220+
<span class="normal">20</span>
82221+
<span class="normal">21</span>
82222+
<span class="normal">22</span>
82223+
<span class="normal">23</span>
82224+
<span class="normal">24</span>
82225+
<span class="normal">25</span>
82226+
<span class="normal">26</span>
82227+
<span class="normal">27</span>
82228+
<span class="normal">28</span>
82229+
<span class="normal">29</span>
82230+
<span class="normal">30</span>
82231+
<span class="normal">31</span>
82232+
<span class="normal">32</span>
82233+
<span class="normal">33</span>
82234+
<span class="normal">34</span>
82235+
<span class="normal">35</span>
82236+
<span class="normal">36</span>
82237+
<span class="normal">37</span>
82238+
<span class="normal">38</span>
82239+
<span class="normal">39</span>
82240+
<span class="normal">40</span>
82241+
<span class="normal">41</span>
82242+
<span class="normal">42</span>
82243+
<span class="normal">43</span>
82244+
<span class="normal">44</span>
82245+
<span class="normal">45</span>
82246+
<span class="normal">46</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">func</span><span class="w"> </span><span class="nx">minOperations</span><span class="p">(</span><span class="nx">nums</span><span class="w"> </span><span class="p">[]</span><span class="kt">int</span><span class="p">,</span><span class="w"> </span><span class="nx">k</span><span class="w"> </span><span class="kt">int</span><span class="p">)</span><span class="w"> </span><span class="kt">int64</span><span class="w"> </span><span class="p">{</span>
82247+
<span class="w"> </span><span class="nx">l</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">redblacktree</span><span class="p">.</span><span class="nx">New</span><span class="p">[</span><span class="kt">int</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="p">]()</span>
82248+
<span class="w"> </span><span class="nx">r</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">redblacktree</span><span class="p">.</span><span class="nx">New</span><span class="p">[</span><span class="kt">int</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="p">]()</span>
82249+
<span class="w"> </span><span class="nx">merge</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="kd">func</span><span class="p">(</span><span class="nx">st</span><span class="w"> </span><span class="o">*</span><span class="nx">redblacktree</span><span class="p">.</span><span class="nx">Tree</span><span class="p">[</span><span class="kt">int</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="p">],</span><span class="w"> </span><span class="nx">x</span><span class="p">,</span><span class="w"> </span><span class="nx">v</span><span class="w"> </span><span class="kt">int</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
82250+
<span class="w"> </span><span class="nx">c</span><span class="p">,</span><span class="w"> </span><span class="nx">_</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">st</span><span class="p">.</span><span class="nx">Get</span><span class="p">(</span><span class="nx">x</span><span class="p">)</span>
82251+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nx">c</span><span class="o">+</span><span class="nx">v</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>
82252+
<span class="w"> </span><span class="nx">st</span><span class="p">.</span><span class="nx">Remove</span><span class="p">(</span><span class="nx">x</span><span class="p">)</span>
82253+
<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>
82254+
<span class="w"> </span><span class="nx">st</span><span class="p">.</span><span class="nx">Put</span><span class="p">(</span><span class="nx">x</span><span class="p">,</span><span class="w"> </span><span class="nx">c</span><span class="o">+</span><span class="nx">v</span><span class="p">)</span>
82255+
<span class="w"> </span><span class="p">}</span>
82256+
<span class="w"> </span><span class="p">}</span>
82257+
<span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">s1</span><span class="p">,</span><span class="w"> </span><span class="nx">s2</span><span class="p">,</span><span class="w"> </span><span class="nx">sz1</span><span class="p">,</span><span class="w"> </span><span class="nx">sz2</span><span class="w"> </span><span class="kt">int</span>
82258+
<span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">math</span><span class="p">.</span><span class="nx">MaxInt64</span>
82259+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="nx">i</span><span class="p">,</span><span class="w"> </span><span class="nx">x</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="nx">nums</span><span class="w"> </span><span class="p">{</span>
82260+
<span class="w"> </span><span class="nx">merge</span><span class="p">(</span><span class="nx">l</span><span class="p">,</span><span class="w"> </span><span class="nx">x</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span>
82261+
<span class="w"> </span><span class="nx">s1</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">x</span>
82262+
<span class="w"> </span><span class="nx">y</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">l</span><span class="p">.</span><span class="nx">Right</span><span class="p">().</span><span class="nx">Key</span>
82263+
<span class="w"> </span><span class="nx">merge</span><span class="p">(</span><span class="nx">l</span><span class="p">,</span><span class="w"> </span><span class="nx">y</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
82264+
<span class="w"> </span><span class="nx">s1</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="nx">y</span>
82265+
<span class="w"> </span><span class="nx">merge</span><span class="p">(</span><span class="nx">r</span><span class="p">,</span><span class="w"> </span><span class="nx">y</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span>
82266+
<span class="w"> </span><span class="nx">s2</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">y</span>
82267+
<span class="w"> </span><span class="nx">sz2</span><span class="o">++</span>
82268+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nx">sz2</span><span class="o">-</span><span class="nx">sz1</span><span class="w"> </span><span class="p">&gt;</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">{</span>
82269+
<span class="w"> </span><span class="nx">y</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nx">r</span><span class="p">.</span><span class="nx">Left</span><span class="p">().</span><span class="nx">Key</span>
82270+
<span class="w"> </span><span class="nx">merge</span><span class="p">(</span><span class="nx">r</span><span class="p">,</span><span class="w"> </span><span class="nx">y</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
82271+
<span class="w"> </span><span class="nx">s2</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="nx">y</span>
82272+
<span class="w"> </span><span class="nx">sz2</span><span class="o">--</span>
82273+
<span class="w"> </span><span class="nx">merge</span><span class="p">(</span><span class="nx">l</span><span class="p">,</span><span class="w"> </span><span class="nx">y</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span>
82274+
<span class="w"> </span><span class="nx">s1</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">y</span>
82275+
<span class="w"> </span><span class="nx">sz1</span><span class="o">++</span>
82276+
<span class="w"> </span><span class="p">}</span>
82277+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">i</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="mi">1</span><span class="p">;</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="p">{</span>
82278+
<span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nb">min</span><span class="p">(</span><span class="nx">ans</span><span class="p">,</span><span class="w"> </span><span class="nx">s2</span><span class="o">-</span><span class="nx">r</span><span class="p">.</span><span class="nx">Left</span><span class="p">().</span><span class="nx">Key</span><span class="o">*</span><span class="nx">sz2</span><span class="o">+</span><span class="nx">r</span><span class="p">.</span><span class="nx">Left</span><span class="p">().</span><span class="nx">Key</span><span class="o">*</span><span class="nx">sz1</span><span class="o">-</span><span class="nx">s1</span><span class="p">)</span>
82279+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">ok</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">r</span><span class="p">.</span><span class="nx">Get</span><span class="p">(</span><span class="nx">nums</span><span class="p">[</span><span class="nx">j</span><span class="p">]);</span><span class="w"> </span><span class="nx">ok</span><span class="w"> </span><span class="p">{</span>
82280+
<span class="w"> </span><span class="nx">merge</span><span class="p">(</span><span class="nx">r</span><span class="p">,</span><span class="w"> </span><span class="nx">nums</span><span class="p">[</span><span class="nx">j</span><span class="p">],</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
82281+
<span class="w"> </span><span class="nx">s2</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="nx">nums</span><span class="p">[</span><span class="nx">j</span><span class="p">]</span>
82282+
<span class="w"> </span><span class="nx">sz2</span><span class="o">--</span>
82283+
<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>
82284+
<span class="w"> </span><span class="nx">merge</span><span class="p">(</span><span class="nx">l</span><span class="p">,</span><span class="w"> </span><span class="nx">nums</span><span class="p">[</span><span class="nx">j</span><span class="p">],</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
82285+
<span class="w"> </span><span class="nx">s1</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="nx">nums</span><span class="p">[</span><span class="nx">j</span><span class="p">]</span>
82286+
<span class="w"> </span><span class="nx">sz1</span><span class="o">--</span>
82287+
<span class="w"> </span><span class="p">}</span>
82288+
<span class="w"> </span><span class="p">}</span>
82289+
<span class="w"> </span><span class="p">}</span>
82290+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">int64</span><span class="p">(</span><span class="nx">ans</span><span class="p">)</span>
82291+
<span class="p">}</span>
8220282292
</code></pre></div></td></tr></table></div>
8220382293
</div>
8220482294
</div>

en/search/search_index.json

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

0 commit comments

Comments
 (0)