|
34391 | 34391 | <ul class="md-nav__list"> |
34392 | 34392 |
|
34393 | 34393 | <li class="md-nav__item"> |
34394 | | - <a href="#solution-1" class="md-nav__link"> |
| 34394 | + <a href="#solution-1-hash-table-enumeration" class="md-nav__link"> |
34395 | 34395 | <span class="md-ellipsis"> |
34396 | | - Solution 1 |
| 34396 | + Solution 1: Hash Table + Enumeration |
34397 | 34397 | </span> |
34398 | 34398 | </a> |
34399 | 34399 |
|
@@ -79454,8 +79454,10 @@ <h2 id="description">Description</h2> |
79454 | 79454 | <h2 id="solutions">Solutions</h2> |
79455 | 79455 | <!-- solution:start --> |
79456 | 79456 |
|
79457 | | -<h3 id="solution-1">Solution 1</h3> |
79458 | | -<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> |
| 79457 | +<h3 id="solution-1-hash-table-enumeration">Solution 1: Hash Table + Enumeration</h3> |
| 79458 | +<p>According to the problem description, if a long string meets the condition, then its substring of length $\textit{minSize}$ must also meet the condition. Therefore, we only need to enumerate all substrings of length $\textit{minSize}$ in $s$, then use a hash table to record the occurrence frequency of all substrings, and find the maximum frequency as the answer.</p> |
| 79459 | +<p>The time complexity is $O(n \times m)$, and the space complexity is $O(n \times m)$. Here, $n$ and $m$ are the lengths of the string $s$ and $\textit{minSize}$, respectively. In this problem, $m$ does not exceed $26$.</p> |
| 79460 | +<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> |
79459 | 79461 | <div class="tabbed-content"> |
79460 | 79462 | <div class="tabbed-block"> |
79461 | 79463 | <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
@@ -79587,6 +79589,34 @@ <h3 id="solution-1">Solution 1</h3> |
79587 | 79589 | <span class="p">}</span> |
79588 | 79590 | </code></pre></div></td></tr></table></div> |
79589 | 79591 | </div> |
| 79592 | +<div class="tabbed-block"> |
| 79593 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
| 79594 | +<span class="normal"> 2</span> |
| 79595 | +<span class="normal"> 3</span> |
| 79596 | +<span class="normal"> 4</span> |
| 79597 | +<span class="normal"> 5</span> |
| 79598 | +<span class="normal"> 6</span> |
| 79599 | +<span class="normal"> 7</span> |
| 79600 | +<span class="normal"> 8</span> |
| 79601 | +<span class="normal"> 9</span> |
| 79602 | +<span class="normal">10</span> |
| 79603 | +<span class="normal">11</span> |
| 79604 | +<span class="normal">12</span> |
| 79605 | +<span class="normal">13</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">maxFreq</span><span class="p">(</span><span class="nx">s</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">,</span><span class="w"> </span><span class="nx">maxLetters</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">minSize</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">maxSize</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> |
| 79606 | +<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">Map</span><span class="o"><</span><span class="kt">string</span><span class="p">,</span><span class="w"> </span><span class="kt">number</span><span class="o">></span><span class="p">();</span> |
| 79607 | +<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> |
| 79608 | +<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"><</span><span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">minSize</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="nx">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 79609 | +<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">slice</span><span class="p">(</span><span class="nx">i</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">minSize</span><span class="p">);</span> |
| 79610 | +<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">ss</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">Set</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s1">''</span><span class="p">));</span> |
| 79611 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">ss</span><span class="p">.</span><span class="nx">size</span><span class="w"> </span><span class="o"><=</span><span class="w"> </span><span class="nx">maxLetters</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 79612 | +<span class="w"> </span><span class="nx">cnt</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="nx">t</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="nx">cnt</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="nx">t</span><span class="p">)</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="w"> </span><span class="mf">1</span><span class="p">);</span> |
| 79613 | +<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">max</span><span class="p">(</span><span class="nx">ans</span><span class="p">,</span><span class="w"> </span><span class="nx">cnt</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="nx">t</span><span class="p">)</span><span class="o">!</span><span class="p">);</span> |
| 79614 | +<span class="w"> </span><span class="p">}</span> |
| 79615 | +<span class="w"> </span><span class="p">}</span> |
| 79616 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span><span class="p">;</span> |
| 79617 | +<span class="p">}</span> |
| 79618 | +</code></pre></div></td></tr></table></div> |
| 79619 | +</div> |
79590 | 79620 | </div> |
79591 | 79621 | </div> |
79592 | 79622 | <!-- solution:end --> |
|
0 commit comments