@@ -91651,8 +91651,8 @@ <h3 id="solution-1-hash-table-or-array">Solution 1: Hash Table or Array</h3>
91651
91651
<p>We note that the number does not exceed <span class="arithmatex">\(10^4\)</span>, so the sum of the digits also does not exceed <span class="arithmatex">\(9 \times 4 = 36\)</span>. Therefore, we can use a hash table or an array of length <span class="arithmatex">\(40\)</span>, denoted as <span class="arithmatex">\(cnt\)</span>, to count the number of each sum of digits, and use a variable <span class="arithmatex">\(mx\)</span> to represent the maximum count of the sum of digits.</p>
91652
91652
<p>We enumerate each number in <span class="arithmatex">\([1,..n]\)</span>, calculate its sum of digits <span class="arithmatex">\(s\)</span>, then increment <span class="arithmatex">\(cnt[s]\)</span> by <span class="arithmatex">\(1\)</span>. If <span class="arithmatex">\(mx < cnt[s]\)</span>, we update <span class="arithmatex">\(mx = cnt[s]\)</span> and set <span class="arithmatex">\(ans\)</span> to <span class="arithmatex">\(1\)</span>. If <span class="arithmatex">\(mx = cnt[s]\)</span>, we increment <span class="arithmatex">\(ans\)</span> by <span class="arithmatex">\(1\)</span>.</p>
91653
91653
<p>Finally, we return <span class="arithmatex">\(ans\)</span>.</p>
91654
- <p>The time complexity is <span class="arithmatex">\(O(n \times \log M )\)</span>, and the space complexity is <span class="arithmatex">\(O(\log M )\)</span>. Where <span class="arithmatex">\(n\)</span> is the given number, and <span class="arithmatex">\(M\)</span> is the range of <span class="arithmatex">\(n\)</span> .</p>
91655
- <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>
91654
+ <p>The time complexity is <span class="arithmatex">\(O(n \times \log n )\)</span>, and the space complexity is <span class="arithmatex">\(O(\log n )\)</span>, where <span class="arithmatex">\(n\)</span> is the given number.</p>
91655
+ <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>
91656
91656
<div class="tabbed-content">
91657
91657
<div class="tabbed-block">
91658
91658
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -91832,7 +91832,7 @@ <h3 id="solution-1-hash-table-or-array">Solution 1: Hash Table or Array</h3>
91832
91832
<span class="normal">17</span>
91833
91833
<span class="normal">18</span>
91834
91834
<span class="normal">19</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">countLargestGroup</span><span class="p">(</span><span class="nx">n</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>
91835
- <span class="w"> </span><span class="kd">const</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><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">40</span><span class="p">).</span><span class="nx">fill</span><span class="p">(</span><span class="mf">0</span><span class="p">);</span>
91835
+ <span class="w"> </span><span class="kd">const</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><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Array</span><span class="p">(</span><span class="mf">40</span><span class="p">).</span><span class="nx">fill</span><span class="p">(</span><span class="mf">0</span><span class="p">);</span>
91836
91836
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">mx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span>
91837
91837
<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>
91838
91838
<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">1</span><span class="p">;</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">n</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>
@@ -91852,6 +91852,58 @@ <h3 id="solution-1-hash-table-or-array">Solution 1: Hash Table or Array</h3>
91852
91852
<span class="p">}</span>
91853
91853
</code></pre></div></td></tr></table></div>
91854
91854
</div>
91855
+ <div class="tabbed-block">
91856
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
91857
+ <span class="normal"> 2</span>
91858
+ <span class="normal"> 3</span>
91859
+ <span class="normal"> 4</span>
91860
+ <span class="normal"> 5</span>
91861
+ <span class="normal"> 6</span>
91862
+ <span class="normal"> 7</span>
91863
+ <span class="normal"> 8</span>
91864
+ <span class="normal"> 9</span>
91865
+ <span class="normal">10</span>
91866
+ <span class="normal">11</span>
91867
+ <span class="normal">12</span>
91868
+ <span class="normal">13</span>
91869
+ <span class="normal">14</span>
91870
+ <span class="normal">15</span>
91871
+ <span class="normal">16</span>
91872
+ <span class="normal">17</span>
91873
+ <span class="normal">18</span>
91874
+ <span class="normal">19</span>
91875
+ <span class="normal">20</span>
91876
+ <span class="normal">21</span>
91877
+ <span class="normal">22</span>
91878
+ <span class="normal">23</span>
91879
+ <span class="normal">24</span>
91880
+ <span class="normal">25</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>
91881
+ <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_largest_group</span><span class="p">(</span><span class="n">n</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">-></span><span class="w"> </span><span class="kt">i32</span><span class="w"> </span><span class="p">{</span>
91882
+ <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">40</span><span class="p">];</span>
91883
+ <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">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91884
+ <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">mx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91885
+
91886
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="mi">1</span><span class="o">..=</span><span class="n">n</span><span class="w"> </span><span class="p">{</span>
91887
+ <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">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91888
+ <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">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">i</span><span class="p">;</span>
91889
+ <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="n">x</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>
91890
+ <span class="w"> </span><span class="n">s</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">10</span><span class="p">;</span>
91891
+ <span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">/=</span><span class="w"> </span><span class="mi">10</span><span class="p">;</span>
91892
+ <span class="w"> </span><span class="p">}</span>
91893
+ <span class="w"> </span><span class="n">cnt</span><span class="p">[</span><span class="n">s</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>
91894
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">mx</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">cnt</span><span class="p">[</span><span class="n">s</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="p">{</span>
91895
+ <span class="w"> </span><span class="n">mx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">cnt</span><span class="p">[</span><span class="n">s</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">usize</span><span class="p">];</span>
91896
+ <span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
91897
+ <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">mx</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">cnt</span><span class="p">[</span><span class="n">s</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="p">{</span>
91898
+ <span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
91899
+ <span class="w"> </span><span class="p">}</span>
91900
+ <span class="w"> </span><span class="p">}</span>
91901
+
91902
+ <span class="w"> </span><span class="n">ans</span>
91903
+ <span class="w"> </span><span class="p">}</span>
91904
+ <span class="p">}</span>
91905
+ </code></pre></div></td></tr></table></div>
91906
+ </div>
91855
91907
</div>
91856
91908
</div>
91857
91909
<!-- solution:end -->
0 commit comments