Skip to content

Commit 5091857

Browse files
committed
deploy: 1153d2b
1 parent fc376fb commit 5091857

File tree

12 files changed

+746
-228
lines changed

12 files changed

+746
-228
lines changed

en/lc/1352/index.html

Lines changed: 83 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86198,7 +86198,7 @@ <h2 id="description">Description</h2>
8619886198
productOfNumbers.getProduct(3); // return 40. The product of the last 3 numbers is 2 * 5 * 4 = 40
8619986199
productOfNumbers.getProduct(4); // return 0. The product of the last 4 numbers is 0 * 2 * 5 * 4 = 0
8620086200
productOfNumbers.add(8); // [3,0,2,5,4,8]
86201-
productOfNumbers.getProduct(2); // return 32. The product of the last 2 numbers is 4 * 8 = 32
86201+
productOfNumbers.getProduct(2); // return 32. The product of the last 2 numbers is 4 * 8 = 32
8620286202
</pre>
8620386203

8620486204
<p>&nbsp;</p>
@@ -86221,7 +86221,7 @@ <h3 id="solution-1-prefix-product">Solution 1: Prefix Product</h3>
8622186221
<p>When calling <code>add(num)</code>, we judge whether <code>num</code> is <span class="arithmatex">\(0\)</span>. If it is, we set <span class="arithmatex">\(s\)</span> to <code>[1]</code>. Otherwise, we multiply the last element of <span class="arithmatex">\(s\)</span> by <code>num</code> and add the result to the end of <span class="arithmatex">\(s\)</span>.</p>
8622286222
<p>When calling <code>getProduct(k)</code>, we now judge whether the length of <span class="arithmatex">\(s\)</span> is less than or equal to <span class="arithmatex">\(k\)</span>. If it is, we return <span class="arithmatex">\(0\)</span>. Otherwise, we return the last element of <span class="arithmatex">\(s\)</span> divided by the <span class="arithmatex">\(k + 1\)</span>th element from the end of <span class="arithmatex">\(s\)</span>. That is, <span class="arithmatex">\(s[-1] / s[-k - 1]\)</span>.</p>
8622386223
<p>The time complexity is <span class="arithmatex">\(O(1)\)</span>, and the space complexity is <span class="arithmatex">\(O(n)\)</span>. Where <span class="arithmatex">\(n\)</span> is the number of times <code>add</code> is called.</p>
86224-
<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>
86224+
<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">JavaScript</label></div>
8622586225
<div class="tabbed-content">
8622686226
<div class="tabbed-block">
8622786227
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -86443,6 +86443,82 @@ <h3 id="solution-1-prefix-product">Solution 1: Prefix Product</h3>
8644386443
<span class="cm"> */</span>
8644486444
</code></pre></div></td></tr></table></div>
8644586445
</div>
86446+
<div class="tabbed-block">
86447+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86448+
<span class="normal"> 2</span>
86449+
<span class="normal"> 3</span>
86450+
<span class="normal"> 4</span>
86451+
<span class="normal"> 5</span>
86452+
<span class="normal"> 6</span>
86453+
<span class="normal"> 7</span>
86454+
<span class="normal"> 8</span>
86455+
<span class="normal"> 9</span>
86456+
<span class="normal">10</span>
86457+
<span class="normal">11</span>
86458+
<span class="normal">12</span>
86459+
<span class="normal">13</span>
86460+
<span class="normal">14</span>
86461+
<span class="normal">15</span>
86462+
<span class="normal">16</span>
86463+
<span class="normal">17</span>
86464+
<span class="normal">18</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span><span class="w"> </span><span class="nx">ProductOfNumbers</span><span class="w"> </span><span class="p">{</span>
86465+
<span class="w"> </span><span class="nx">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="mf">1</span><span class="p">];</span>
86466+
86467+
<span class="w"> </span><span class="nx">add</span><span class="p">(</span><span class="nx">num</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>
86468+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">num</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>
86469+
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="mf">1</span><span class="p">];</span>
86470+
<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>
86471+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">i</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">s</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>
86472+
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">s</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">s</span><span class="p">[</span><span class="nx">i</span><span class="w"> </span><span class="o">-</span><span class="w"> </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">num</span><span class="p">;</span>
86473+
<span class="w"> </span><span class="p">}</span>
86474+
<span class="w"> </span><span class="p">}</span>
86475+
86476+
<span class="w"> </span><span class="nx">getProduct</span><span class="p">(</span><span class="nx">k</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>
86477+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">i</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">s</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>
86478+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">k</span><span class="w"> </span><span class="o">&gt;</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">1</span><span class="p">)</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span>
86479+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">s</span><span class="p">[</span><span class="nx">i</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</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">s</span><span class="p">[</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="mf">1</span><span class="p">];</span>
86480+
<span class="w"> </span><span class="p">}</span>
86481+
<span class="p">}</span>
86482+
</code></pre></div></td></tr></table></div>
86483+
</div>
86484+
<div class="tabbed-block">
86485+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86486+
<span class="normal"> 2</span>
86487+
<span class="normal"> 3</span>
86488+
<span class="normal"> 4</span>
86489+
<span class="normal"> 5</span>
86490+
<span class="normal"> 6</span>
86491+
<span class="normal"> 7</span>
86492+
<span class="normal"> 8</span>
86493+
<span class="normal"> 9</span>
86494+
<span class="normal">10</span>
86495+
<span class="normal">11</span>
86496+
<span class="normal">12</span>
86497+
<span class="normal">13</span>
86498+
<span class="normal">14</span>
86499+
<span class="normal">15</span>
86500+
<span class="normal">16</span>
86501+
<span class="normal">17</span>
86502+
<span class="normal">18</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span><span class="w"> </span><span class="nx">ProductOfNumbers</span><span class="w"> </span><span class="p">{</span>
86503+
<span class="w"> </span><span class="nx">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="mf">1</span><span class="p">];</span>
86504+
86505+
<span class="w"> </span><span class="nx">add</span><span class="p">(</span><span class="nx">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86506+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">num</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>
86507+
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="mf">1</span><span class="p">];</span>
86508+
<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>
86509+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">i</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">s</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>
86510+
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">s</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">s</span><span class="p">[</span><span class="nx">i</span><span class="w"> </span><span class="o">-</span><span class="w"> </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">num</span><span class="p">;</span>
86511+
<span class="w"> </span><span class="p">}</span>
86512+
<span class="w"> </span><span class="p">}</span>
86513+
86514+
<span class="w"> </span><span class="nx">getProduct</span><span class="p">(</span><span class="nx">k</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86515+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">i</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">s</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>
86516+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">k</span><span class="w"> </span><span class="o">&gt;</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">1</span><span class="p">)</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span>
86517+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">s</span><span class="p">[</span><span class="nx">i</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</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">s</span><span class="p">[</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="mf">1</span><span class="p">];</span>
86518+
<span class="w"> </span><span class="p">}</span>
86519+
<span class="p">}</span>
86520+
</code></pre></div></td></tr></table></div>
86521+
</div>
8644686522
</div>
8644786523
</div>
8644886524
<!-- solution:end -->
@@ -86476,6 +86552,11 @@ <h3 id="solution-1-prefix-product">Solution 1: Prefix Product</h3>
8647686552

8647786553
<nav>
8647886554

86555+
<a href="https://github.com/rain84" class="md-author" title="@rain84">
86556+
86557+
<img src="https://avatars.githubusercontent.com/u/1732547?v=4&size=72" alt="rain84">
86558+
</a>
86559+
8647986560
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
8648086561

8648186562
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">

0 commit comments

Comments
 (0)