@@ -77086,23 +77086,13 @@ <h3 id="solution-1-greedy-sorting">Solution 1: Greedy + Sorting</h3>
77086
77086
<span class="normal"> 7</span>
77087
77087
<span class="normal"> 8</span>
77088
77088
<span class="normal"> 9</span>
77089
- <span class="normal">10</span>
77090
- <span class="normal">11</span>
77091
- <span class="normal">12</span>
77092
- <span class="normal">13</span>
77093
- <span class="normal">14</span>
77094
- <span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">maximumUnits</span><span class="p">(</span><span class="nx">boxTypes</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[][],</span><span class="w"> </span><span class="nx">truckSize</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="w"> </span><span class="p">{</span>
77095
- <span class="w"> </span><span class="nx">boxTypes</span><span class="p">.</span><span class="nx">sort</span><span class="p">((</span><span class="nx">a</span><span class="p">,</span><span class="w"> </span><span class="nx">b</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="nx">b</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">a</span><span class="p">[</span><span class="mf">1</span><span class="p">]);</span>
77096
- <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">sum</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span>
77089
+ <span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">export</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">maximumUnits</span><span class="p">(</span><span class="nx">boxTypes</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[][],</span><span class="w"> </span><span class="nx">truckSize</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="w"> </span><span class="p">{</span>
77090
+ <span class="w"> </span><span class="nx">boxTypes</span><span class="p">.</span><span class="nx">sort</span><span class="p">(([</span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">a</span><span class="p">],</span><span class="w"> </span><span class="p">[</span><span class="nx">__</span><span class="p">,</span><span class="w"> </span><span class="nx">b</span><span class="p">])</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="nx">b</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">a</span><span class="p">);</span>
77097
77091
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span>
77098
77092
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="p">[</span><span class="nx">count</span><span class="p">,</span><span class="w"> </span><span class="nx">size</span><span class="p">]</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">boxTypes</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77099
- <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">sum</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">count</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">truckSize</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77100
- <span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">size</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nx">count</span><span class="p">;</span>
77101
- <span class="w"> </span><span class="nx">sum</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">count</span><span class="p">;</span>
77102
- <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>
77103
- <span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="p">(</span><span class="nx">truckSize</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">sum</span><span class="p">)</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nx">size</span><span class="p">;</span>
77104
- <span class="w"> </span><span class="k">break</span><span class="p">;</span>
77105
- <span class="w"> </span><span class="p">}</span>
77093
+ <span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">min</span><span class="p">(</span><span class="nx">truckSize</span><span class="p">,</span><span class="w"> </span><span class="nx">count</span><span class="p">)</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nx">size</span><span class="p">;</span>
77094
+ <span class="w"> </span><span class="nx">truckSize</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="nx">count</span><span class="p">;</span>
77095
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">truckSize</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mf">0</span><span class="p">)</span><span class="w"> </span><span class="k">break</span><span class="p">;</span>
77106
77096
<span class="w"> </span><span class="p">}</span>
77107
77097
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span><span class="p">;</span>
77108
77098
<span class="p">}</span>
@@ -77308,20 +77298,14 @@ <h3 id="solution-2-counting-sort">Solution 2: Counting Sort</h3>
77308
77298
<span class="normal"> 9</span>
77309
77299
<span class="normal">10</span>
77310
77300
<span class="normal">11</span>
77311
- <span class="normal">12</span>
77312
- <span class="normal">13</span>
77313
- <span class="normal">14</span>
77314
- <span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">maximumUnits</span><span class="p">(</span><span class="nx">boxTypes</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[][],</span><span class="w"> </span><span class="nx">truckSize</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="w"> </span><span class="p">{</span>
77315
- <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">cnt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nb">Array</span><span class="p">(</span><span class="mf">1001</span><span class="p">).</span><span class="nx">fill</span><span class="p">(</span><span class="mf">0</span><span class="p">);</span>
77316
- <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="p">[</span><span class="nx">a</span><span class="p">,</span><span class="w"> </span><span class="nx">b</span><span class="p">]</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">boxTypes</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77317
- <span class="w"> </span><span class="nx">cnt</span><span class="p">[</span><span class="nx">b</span><span class="p">]</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">a</span><span class="p">;</span>
77318
- <span class="w"> </span><span class="p">}</span>
77301
+ <span class="normal">12</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">maximumUnits</span><span class="p">(</span><span class="nx">boxTypes</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[][],</span><span class="w"> </span><span class="nx">truckSize</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="w"> </span><span class="p">{</span>
77302
+ <span class="w"> </span><span class="nx">boxTypes</span><span class="p">.</span><span class="nx">sort</span><span class="p">(([</span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">a</span><span class="p">],</span><span class="w"> </span><span class="p">[</span><span class="nx">__</span><span class="p">,</span><span class="w"> </span><span class="nx">b</span><span class="p">])</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="nx">b</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">a</span><span class="p">);</span>
77319
77303
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span>
77320
- <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">let </span><span class="w"> </span><span class="nx">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">1000</span><span class=" p">; </span><span class="w"> </span><span class=" nx">b </span><span class="w"> </span><span class="o">></span><span class=" w"> </span><span class="mf">0</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class=" nx">truckSize </span><span class="w"> </span><span class="o">></span><span class=" w"> </span><span class="mf">0 </span><span class="p">;</span><span class=" w"> </span><span class="o">--</span><span class=" nx">b </span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77321
- <span class="w"> </span><span class="kd">const </span><span class="w"> </span><span class="nx">a </span><span class="w"> </span><span class="o">= </span><span class="w"> </span><span class="nx">cnt </span><span class="p">[ </span><span class="nx">b </span><span class="p">] ;</span>
77322
- <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class=" nx">a </span><span class="w"> </span><span class="o">> </span><span class="w"> </span><span class="mf">0 </span><span class="p">)</span><span class="w"> </span><span class="p">{ </span>
77323
- <span class="w"> </span><span class="nx">ans </span><span class="w"> </span><span class="o">+= </span><span class="w"> </span><span class=" nx">b </span><span class="w"> </span><span class="o">* </span><span class="w"> </span><span class="nb">Math </span><span class="p">. </span><span class="nx">min</span><span class="p">(</span><span class="nx">truckSize</span><span class="p">,</span><span class=" w"> </span><span class="nx">a</span><span class=" p">); </span>
77324
- <span class="w"> </span><span class="nx">truckSize</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="nx">a </span><span class="p">;</span>
77304
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const </span><span class="w"> </span><span class="p">[ </span><span class="nx">count </span><span class="p">, </span><span class="w"> </span><span class="nx">size </span><span class="p">] </span><span class="w"> </span><span class="k">of </span><span class="w"> </span><span class="nx">boxTypes </span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77305
+ <span class="w"> </span><span class="nx">ans </span><span class="w"> </span><span class="o">+= </span><span class="w"> </span><span class="nb">Math</span><span class="p">. </span><span class="nx">min</span><span class="p">(</span><span class="nx">truckSize</span><span class="p">,</span><span class=" w"> </span><span class="nx">count </span><span class="p">) </span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class=" nx">size </span><span class="p">;</span>
77306
+ <span class="w"> </span><span class="nx">truckSize </span><span class="w"> </span><span class="o">-= </span><span class="w"> </span><span class="nx">count </span><span class="p">; </span>
77307
+ <span class="w"> </span><span class="k">if </span><span class="w"> </span><span class="p">( </span><span class="nx">truckSize </span><span class="w"> </span><span class="o">< </span><span class="w"> </span><span class="mf">0 </span><span class="p">) </span><span class="w"> </span><span class="p">{ </span>
77308
+ <span class="w"> </span><span class="k">break </span><span class="p">;</span>
77325
77309
<span class="w"> </span><span class="p">}</span>
77326
77310
<span class="w"> </span><span class="p">}</span>
77327
77311
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span><span class="p">;</span>
@@ -77361,6 +77345,11 @@ <h3 id="solution-2-counting-sort">Solution 2: Counting Sort</h3>
77361
77345
77362
77346
<nav>
77363
77347
77348
+ <a href="https://github.com/rain84" class="md-author" title="@rain84">
77349
+
77350
+ <img src="https://avatars.githubusercontent.com/u/1732547?v=4&size=72" alt="rain84">
77351
+ </a>
77352
+
77364
77353
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
77365
77354
77366
77355
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
0 commit comments