Skip to content

Commit 48acf4d

Browse files
committed
deploy: 47462d9
1 parent cd2fa41 commit 48acf4d

File tree

4 files changed

+206
-10
lines changed

4 files changed

+206
-10
lines changed

en/lc/1742/index.html

Lines changed: 102 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86204,10 +86204,10 @@ <h2 id="solutions">Solutions</h2>
8620486204
<!-- solution:start -->
8620586205

8620686206
<h3 id="solution-1-array-simulation">Solution 1: Array + Simulation</h3>
86207-
<p>Observing the data range of the problem, the maximum number of the ball does not exceed <span class="arithmatex">\(10^5\)</span>, so the maximum value of the sum of each digit of the number is less than <span class="arithmatex">\(50\)</span>. Therefore, we can directly create an array <span class="arithmatex">\(cnt\)</span> with a length of <span class="arithmatex">\(50\)</span> to count the number of each digit sum of each number.</p>
86208-
<p>The answer is the maximum value in the array <span class="arithmatex">\(cnt\)</span>.</p>
86209-
<p>The time complexity is <span class="arithmatex">\(O(n \times \log_{10}m)\)</span>. Here, <span class="arithmatex">\(n = highLimit - lowLimit + 1\)</span>, and <span class="arithmatex">\(m = highLimit\)</span>.</p>
86210-
<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>
86207+
<p>Observing the problem's data range, the maximum number of balls does not exceed <span class="arithmatex">\(10^5\)</span>, so the maximum sum of the digits of each number is less than <span class="arithmatex">\(50\)</span>. Therefore, we can directly create an array <span class="arithmatex">\(\textit{cnt}\)</span> of length <span class="arithmatex">\(50\)</span> to count the number of occurrences of each digit sum.</p>
86208+
<p>The answer is the maximum value in the array <span class="arithmatex">\(\textit{cnt}\)</span>.</p>
86209+
<p>The time complexity is <span class="arithmatex">\(O(n \times \log_{10}m)\)</span>. Here, <span class="arithmatex">\(n = \textit{highLimit} - \textit{lowLimit} + 1\)</span>, and <span class="arithmatex">\(m = \textit{highLimit}\)</span>.</p>
86210+
<div class="tabbed-set tabbed-alternate" data-tabs="1:8"><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" /><input id="__tabbed_1_8" 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">JavaScript</label><label for="__tabbed_1_8">C#</label></div>
8621186211
<div class="tabbed-content">
8621286212
<div class="tabbed-block">
8621386213
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -86345,6 +86345,104 @@ <h3 id="solution-1-array-simulation">Solution 1: Array + Simulation</h3>
8634586345
<span class="p">}</span>
8634686346
</code></pre></div></td></tr></table></div>
8634786347
</div>
86348+
<div class="tabbed-block">
86349+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86350+
<span class="normal"> 2</span>
86351+
<span class="normal"> 3</span>
86352+
<span class="normal"> 4</span>
86353+
<span class="normal"> 5</span>
86354+
<span class="normal"> 6</span>
86355+
<span class="normal"> 7</span>
86356+
<span class="normal"> 8</span>
86357+
<span class="normal"> 9</span>
86358+
<span class="normal">10</span>
86359+
<span class="normal">11</span>
86360+
<span class="normal">12</span>
86361+
<span class="normal">13</span>
86362+
<span class="normal">14</span>
86363+
<span class="normal">15</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>
86364+
<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">count_balls</span><span class="p">(</span><span class="n">low_limit</span><span class="p">:</span><span class="w"> </span><span class="kt">i32</span><span class="p">,</span><span class="w"> </span><span class="n">high_limit</span><span class="p">:</span><span class="w"> </span><span class="kt">i32</span><span class="p">)</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="kt">i32</span><span class="w"> </span><span class="p">{</span>
86365+
<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">cnt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="fm">vec!</span><span class="p">[</span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="mi">50</span><span class="p">];</span>
86366+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">low_limit</span><span class="o">..=</span><span class="n">high_limit</span><span class="w"> </span><span class="p">{</span>
86367+
<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">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
86368+
<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">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">x</span><span class="p">;</span>
86369+
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="n">n</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>
86370+
<span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">10</span><span class="p">;</span>
86371+
<span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">/=</span><span class="w"> </span><span class="mi">10</span><span class="p">;</span>
86372+
<span class="w"> </span><span class="p">}</span>
86373+
<span class="w"> </span><span class="n">cnt</span><span class="p">[</span><span class="n">y</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">usize</span><span class="p">]</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
86374+
<span class="w"> </span><span class="p">}</span>
86375+
<span class="w"> </span><span class="o">*</span><span class="n">cnt</span><span class="p">.</span><span class="n">iter</span><span class="p">().</span><span class="n">max</span><span class="p">().</span><span class="n">unwrap</span><span class="p">()</span>
86376+
<span class="w"> </span><span class="p">}</span>
86377+
<span class="p">}</span>
86378+
</code></pre></div></td></tr></table></div>
86379+
</div>
86380+
<div class="tabbed-block">
86381+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86382+
<span class="normal"> 2</span>
86383+
<span class="normal"> 3</span>
86384+
<span class="normal"> 4</span>
86385+
<span class="normal"> 5</span>
86386+
<span class="normal"> 6</span>
86387+
<span class="normal"> 7</span>
86388+
<span class="normal"> 8</span>
86389+
<span class="normal"> 9</span>
86390+
<span class="normal">10</span>
86391+
<span class="normal">11</span>
86392+
<span class="normal">12</span>
86393+
<span class="normal">13</span>
86394+
<span class="normal">14</span>
86395+
<span class="normal">15</span>
86396+
<span class="normal">16</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cm">/**</span>
86397+
<span class="cm"> * @param {number} lowLimit</span>
86398+
<span class="cm"> * @param {number} highLimit</span>
86399+
<span class="cm"> * @return {number}</span>
86400+
<span class="cm"> */</span>
86401+
<span class="kd">var</span><span class="w"> </span><span class="nx">countBalls</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">(</span><span class="nx">lowLimit</span><span class="p">,</span><span class="w"> </span><span class="nx">highLimit</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86402+
<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="nb">Array</span><span class="p">(</span><span class="mf">50</span><span class="p">).</span><span class="nx">fill</span><span class="p">(</span><span class="mf">0</span><span class="p">);</span>
86403+
<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="nx">lowLimit</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">highLimit</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="nx">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86404+
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span>
86405+
<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">x</span><span class="w"> </span><span class="o">=</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="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="nb">Math</span><span class="p">.</span><span class="nx">floor</span><span class="p">(</span><span class="nx">x</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mf">10</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
86406+
<span class="w"> </span><span class="nx">y</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">x</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mf">10</span><span class="p">;</span>
86407+
<span class="w"> </span><span class="p">}</span>
86408+
<span class="w"> </span><span class="o">++</span><span class="nx">cnt</span><span class="p">[</span><span class="nx">y</span><span class="p">];</span>
86409+
<span class="w"> </span><span class="p">}</span>
86410+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">max</span><span class="p">(...</span><span class="nx">cnt</span><span class="p">);</span>
86411+
<span class="p">};</span>
86412+
</code></pre></div></td></tr></table></div>
86413+
</div>
86414+
<div class="tabbed-block">
86415+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86416+
<span class="normal"> 2</span>
86417+
<span class="normal"> 3</span>
86418+
<span class="normal"> 4</span>
86419+
<span class="normal"> 5</span>
86420+
<span class="normal"> 6</span>
86421+
<span class="normal"> 7</span>
86422+
<span class="normal"> 8</span>
86423+
<span class="normal"> 9</span>
86424+
<span class="normal">10</span>
86425+
<span class="normal">11</span>
86426+
<span class="normal">12</span>
86427+
<span class="normal">13</span>
86428+
<span class="normal">14</span>
86429+
<span class="normal">15</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>
86430+
<span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">CountBalls</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">lowLimit</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">highLimit</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86431+
<span class="w"> </span><span class="kt">int</span><span class="p">[]</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="kt">int</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
86432+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">lowLimit</span><span class="p">;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="n">highLimit</span><span class="p">;</span><span class="w"> </span><span class="n">x</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86433+
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
86434+
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">x</span><span class="p">;</span>
86435+
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">n</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86436+
<span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">10</span><span class="p">;</span>
86437+
<span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">/=</span><span class="w"> </span><span class="mi">10</span><span class="p">;</span>
86438+
<span class="w"> </span><span class="p">}</span>
86439+
<span class="w"> </span><span class="n">cnt</span><span class="p">[</span><span class="n">y</span><span class="p">]</span><span class="o">++</span><span class="p">;</span>
86440+
<span class="w"> </span><span class="p">}</span>
86441+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">cnt</span><span class="p">.</span><span class="n">Max</span><span class="p">();</span>
86442+
<span class="w"> </span><span class="p">}</span>
86443+
<span class="p">}</span>
86444+
</code></pre></div></td></tr></table></div>
86445+
</div>
8634886446
</div>
8634986447
</div>
8635086448
<!-- 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)