Skip to content

Commit 024d12a

Browse files
committed
deploy: bd9def9
1 parent c94edb3 commit 024d12a

File tree

12 files changed

+7847
-6988
lines changed

12 files changed

+7847
-6988
lines changed

en/lc/1334/index.html

Lines changed: 353 additions & 2 deletions
Large diffs are not rendered by default.

en/lc/2240/index.html

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54040,9 +54040,9 @@
5404054040
<ul class="md-nav__list">
5404154041

5404254042
<li class="md-nav__item">
54043-
<a href="#solution-1" class="md-nav__link">
54043+
<a href="#solution-1-enumeration" class="md-nav__link">
5404454044
<span class="md-ellipsis">
54045-
Solution 1
54045+
Solution 1: Enumeration
5404654046
</span>
5404754047
</a>
5404854048

@@ -77674,7 +77674,9 @@ <h2 id="description">Description</h2>
7767477674
<h2 id="solutions">Solutions</h2>
7767577675
<!-- solution:start -->
7767677676

77677-
<h3 id="solution-1">Solution 1</h3>
77677+
<h3 id="solution-1-enumeration">Solution 1: Enumeration</h3>
77678+
<p>We can enumerate the number of pens to buy, denoted as $x$. For each $x$, the maximum number of pencils we can buy is $\frac{\textit{total} - x \times \textit{cost1}}{\textit{cost2}}$. The number of ways for each $x$ is this value plus 1. We sum up the number of ways for all $x$ to get the answer.</p>
77679+
<p>The time complexity is $O(\frac{\textit{total}}{\textit{cost1}})$, and the space complexity is $O(1)$.</p>
7767877680
<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">Rust</label></div>
7767977681
<div class="tabbed-content">
7768077682
<div class="tabbed-block">

en/lc/2241/index.html

Lines changed: 83 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54061,9 +54061,9 @@
5406154061
<ul class="md-nav__list">
5406254062

5406354063
<li class="md-nav__item">
54064-
<a href="#solution-1" class="md-nav__link">
54064+
<a href="#solution-1-simulation" class="md-nav__link">
5406554065
<span class="md-ellipsis">
54066-
Solution 1
54066+
Solution 1: Simulation
5406754067
</span>
5406854068
</a>
5406954069

@@ -77704,8 +77704,11 @@ <h2 id="description">Description</h2>
7770477704
<h2 id="solutions">Solutions</h2>
7770577705
<!-- solution:start -->
7770677706

77707-
<h3 id="solution-1">Solution 1</h3>
77708-
<div class="tabbed-set tabbed-alternate" data-tabs="1:4"><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" /><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></div>
77707+
<h3 id="solution-1-simulation">Solution 1: Simulation</h3>
77708+
<p>We use an array $d$ to record the denominations of the bills and an array $cnt$ to record the number of bills for each denomination.</p>
77709+
<p>For the <code>deposit</code> operation, we only need to add the number of bills for the corresponding denomination. The time complexity is $O(1)$.</p>
77710+
<p>For the <code>withdraw</code> operation, we enumerate the bills from largest to smallest denomination, taking out as many bills as possible without exceeding the $amount$. Then, we subtract the total value of the withdrawn bills from $amount$. If $amount$ is still greater than $0$ at the end, it means it's not possible to withdraw the $amount$ with the available bills, and we return $-1$. Otherwise, we return the number of bills withdrawn. The time complexity is $O(1)$.</p>
77711+
<div class="tabbed-set tabbed-alternate" data-tabs="1:5"><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" /><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></div>
7770977712
<div class="tabbed-content">
7771077713
<div class="tabbed-block">
7771177714
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -77981,6 +77984,82 @@ <h3 id="solution-1">Solution 1</h3>
7798177984
<span class="cm"> */</span>
7798277985
</code></pre></div></td></tr></table></div>
7798377986
</div>
77987+
<div class="tabbed-block">
77988+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
77989+
<span class="normal"> 2</span>
77990+
<span class="normal"> 3</span>
77991+
<span class="normal"> 4</span>
77992+
<span class="normal"> 5</span>
77993+
<span class="normal"> 6</span>
77994+
<span class="normal"> 7</span>
77995+
<span class="normal"> 8</span>
77996+
<span class="normal"> 9</span>
77997+
<span class="normal">10</span>
77998+
<span class="normal">11</span>
77999+
<span class="normal">12</span>
78000+
<span class="normal">13</span>
78001+
<span class="normal">14</span>
78002+
<span class="normal">15</span>
78003+
<span class="normal">16</span>
78004+
<span class="normal">17</span>
78005+
<span class="normal">18</span>
78006+
<span class="normal">19</span>
78007+
<span class="normal">20</span>
78008+
<span class="normal">21</span>
78009+
<span class="normal">22</span>
78010+
<span class="normal">23</span>
78011+
<span class="normal">24</span>
78012+
<span class="normal">25</span>
78013+
<span class="normal">26</span>
78014+
<span class="normal">27</span>
78015+
<span class="normal">28</span>
78016+
<span class="normal">29</span>
78017+
<span class="normal">30</span>
78018+
<span class="normal">31</span>
78019+
<span class="normal">32</span>
78020+
<span class="normal">33</span>
78021+
<span class="normal">34</span>
78022+
<span class="normal">35</span>
78023+
<span class="normal">36</span>
78024+
<span class="normal">37</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span><span class="w"> </span><span class="nx">ATM</span><span class="w"> </span><span class="p">{</span>
78025+
<span class="w"> </span><span class="k">private</span><span class="w"> </span><span class="nx">cnt</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[];</span>
78026+
<span class="w"> </span><span class="k">private</span><span class="w"> </span><span class="nx">d</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[];</span>
78027+
78028+
<span class="w"> </span><span class="kr">constructor</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
78029+
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">cnt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="mf">0</span><span class="p">];</span>
78030+
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">d</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="mf">20</span><span class="p">,</span><span class="w"> </span><span class="mf">50</span><span class="p">,</span><span class="w"> </span><span class="mf">100</span><span class="p">,</span><span class="w"> </span><span class="mf">200</span><span class="p">,</span><span class="w"> </span><span class="mf">500</span><span class="p">];</span>
78031+
<span class="w"> </span><span class="p">}</span>
78032+
78033+
<span class="w"> </span><span class="nx">deposit</span><span class="p">(</span><span class="nx">banknotesCount</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="ow">void</span><span class="w"> </span><span class="p">{</span>
78034+
<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">i</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="nx">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="nx">banknotesCount</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span><span class="w"> </span><span class="nx">i</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
78035+
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">cnt</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">banknotesCount</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span>
78036+
<span class="w"> </span><span class="p">}</span>
78037+
<span class="w"> </span><span class="p">}</span>
78038+
78039+
<span class="w"> </span><span class="nx">withdraw</span><span class="p">(</span><span class="nx">amount</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="p">[]</span><span class="w"> </span><span class="p">{</span>
78040+
<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="p">[</span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="mf">0</span><span class="p">];</span>
78041+
<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">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">4</span><span class="p">;</span><span class="w"> </span><span class="nx">i</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span><span class="w"> </span><span class="nx">i</span><span class="o">--</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
78042+
<span class="w"> </span><span class="nx">ans</span><span class="p">[</span><span class="nx">i</span><span class="p">]</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="nb">Math</span><span class="p">.</span><span class="nx">floor</span><span class="p">(</span><span class="nx">amount</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">d</span><span class="p">[</span><span class="nx">i</span><span class="p">]),</span><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">cnt</span><span class="p">[</span><span class="nx">i</span><span class="p">]);</span>
78043+
<span class="w"> </span><span class="nx">amount</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="nx">ans</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">d</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span>
78044+
<span class="w"> </span><span class="p">}</span>
78045+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">amount</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mf">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
78046+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">[</span><span class="o">-</span><span class="mf">1</span><span class="p">];</span>
78047+
<span class="w"> </span><span class="p">}</span>
78048+
<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">i</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="nx">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="nx">ans</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span><span class="w"> </span><span class="nx">i</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
78049+
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">cnt</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="nx">ans</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span>
78050+
<span class="w"> </span><span class="p">}</span>
78051+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span><span class="p">;</span>
78052+
<span class="w"> </span><span class="p">}</span>
78053+
<span class="p">}</span>
78054+
78055+
<span class="cm">/**</span>
78056+
<span class="cm"> * Your ATM object will be instantiated and called as such:</span>
78057+
<span class="cm"> * var obj = new ATM()</span>
78058+
<span class="cm"> * obj.deposit(banknotesCount)</span>
78059+
<span class="cm"> * var param_2 = obj.withdraw(amount)</span>
78060+
<span class="cm"> */</span>
78061+
</code></pre></div></td></tr></table></div>
78062+
</div>
7798478063
</div>
7798578064
</div>
7798678065
<!-- solution:end -->

en/search/search_index.json

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

0 commit comments

Comments
 (0)