Skip to content

Commit 48ae9d4

Browse files
committed
deploy: 9f01558
1 parent 38677f3 commit 48ae9d4

File tree

8 files changed

+3836
-3626
lines changed

8 files changed

+3836
-3626
lines changed

en/lc/2190/index.html

Lines changed: 59 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -53378,9 +53378,9 @@
5337853378
<ul class="md-nav__list">
5337953379

5338053380
<li class="md-nav__item">
53381-
<a href="#solution-1" class="md-nav__link">
53381+
<a href="#solution-1-traversal-and-counting" class="md-nav__link">
5338253382
<span class="md-ellipsis">
53383-
Solution 1
53383+
Solution 1: Traversal and Counting
5338453384
</span>
5338553385
</a>
5338653386

@@ -82151,8 +82151,12 @@ <h2 id="description">Description</h2>
8215182151
<h2 id="solutions">Solutions</h2>
8215282152
<!-- solution:start -->
8215382153

82154-
<h3 id="solution-1">Solution 1</h3>
82155-
<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">PHP</label></div>
82154+
<h3 id="solution-1-traversal-and-counting">Solution 1: Traversal and Counting</h3>
82155+
<p>We use a hash table or an array $\textit{cnt}$ to record the number of occurrences of each $\textit{target}$, and use a variable $\textit{mx}$ to maintain the maximum number of occurrences of $\textit{target}$. Initially, $\textit{mx} = 0$.</p>
82156+
<p>Traverse the array $\textit{nums}$. If $\textit{nums}[i] = \textit{key}$, increment the count of $\textit{nums}[i + 1]$ in $\textit{cnt}[\textit{nums}[i + 1]]$. If $\textit{mx} \lt \textit{cnt}[\textit{nums}[i + 1]]$, update $\textit{mx} = \textit{cnt}[\textit{nums}[i + 1]]$ and update the answer $\textit{ans} = \textit{nums}[i + 1]$.</p>
82157+
<p>After the traversal, return the answer $\textit{ans}$.</p>
82158+
<p>The time complexity is $O(n)$, and the space complexity is $O(M)$. Here, $n$ and $M$ are the length of the array $\textit{nums}$ and the maximum value of the elements in the array $\textit{nums}$, respectively.</p>
82159+
<div class="tabbed-set tabbed-alternate" data-tabs="1:7"><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" /><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><label for="__tabbed_1_7">PHP</label></div>
8215682160
<div class="tabbed-content">
8215782161
<div class="tabbed-block">
8215882162
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -82287,11 +82291,9 @@ <h3 id="solution-1">Solution 1</h3>
8228782291
<span class="normal">10</span>
8228882292
<span class="normal">11</span>
8228982293
<span class="normal">12</span>
82290-
<span class="normal">13</span>
82291-
<span class="normal">14</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">mostFrequent</span><span class="p">(</span><span class="nx">nums</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">key</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>
82292-
<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">1001</span><span class="p">).</span><span class="nx">fill</span><span class="p">(</span><span class="mf">0</span><span class="p">);</span>
82293-
<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>
82294-
<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>
82294+
<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">mostFrequent</span><span class="p">(</span><span class="nx">nums</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">key</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>
82295+
<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="nb">Math</span><span class="p">.</span><span class="nx">max</span><span class="p">(...</span><span class="nx">nums</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><span class="nx">fill</span><span class="p">(</span><span class="mf">0</span><span class="p">);</span>
82296+
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="p">[</span><span class="nx">ans</span><span class="p">,</span><span class="w"> </span><span class="nx">mx</span><span class="p">]</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>
8229582297
<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">nums</span><span class="p">.</span><span class="nx">length</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>
8229682298
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">nums</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">key</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
8229782299
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">mx</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="o">++</span><span class="nx">cnt</span><span class="p">[</span><span class="nx">nums</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="p">{</span>
@@ -82322,28 +82324,58 @@ <h3 id="solution-1">Solution 1</h3>
8232282324
<span class="normal">15</span>
8232382325
<span class="normal">16</span>
8232482326
<span class="normal">17</span>
82325-
<span class="normal">18</span>
82326-
<span class="normal">19</span>
82327-
<span class="normal">20</span>
82328-
<span class="normal">21</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="x">class Solution {</span>
82329-
<span class="x"> /**</span>
82330-
<span class="x"> * @param Integer[] $nums</span>
82331-
<span class="x"> * @param Integer $key</span>
82332-
<span class="x"> * @return Integer</span>
82333-
<span class="x"> */</span>
82327+
<span class="normal">18</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cm">/**</span>
82328+
<span class="cm"> * @param {number[]} nums</span>
82329+
<span class="cm"> * @param {number} key</span>
82330+
<span class="cm"> * @return {number}</span>
82331+
<span class="cm"> */</span>
82332+
<span class="kd">var</span><span class="w"> </span><span class="nx">mostFrequent</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">nums</span><span class="p">,</span><span class="w"> </span><span class="nx">key</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
82333+
<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="nb">Math</span><span class="p">.</span><span class="nx">max</span><span class="p">(...</span><span class="nx">nums</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><span class="nx">fill</span><span class="p">(</span><span class="mf">0</span><span class="p">);</span>
82334+
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="p">[</span><span class="nx">ans</span><span class="p">,</span><span class="w"> </span><span class="nx">mx</span><span class="p">]</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>
82335+
<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">nums</span><span class="p">.</span><span class="nx">length</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>
82336+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">nums</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">key</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
82337+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">mx</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="o">++</span><span class="nx">cnt</span><span class="p">[</span><span class="nx">nums</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="p">{</span>
82338+
<span class="w"> </span><span class="nx">mx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">cnt</span><span class="p">[</span><span class="nx">nums</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>
82339+
<span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">nums</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>
82340+
<span class="w"> </span><span class="p">}</span>
82341+
<span class="w"> </span><span class="p">}</span>
82342+
<span class="w"> </span><span class="p">}</span>
82343+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span><span class="p">;</span>
82344+
<span class="p">};</span>
82345+
</code></pre></div></td></tr></table></div>
82346+
</div>
82347+
<div class="tabbed-block">
82348+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
82349+
<span class="normal"> 2</span>
82350+
<span class="normal"> 3</span>
82351+
<span class="normal"> 4</span>
82352+
<span class="normal"> 5</span>
82353+
<span class="normal"> 6</span>
82354+
<span class="normal"> 7</span>
82355+
<span class="normal"> 8</span>
82356+
<span class="normal"> 9</span>
82357+
<span class="normal">10</span>
82358+
<span class="normal">11</span>
82359+
<span class="normal">12</span>
82360+
<span class="normal">13</span>
82361+
<span class="normal">14</span>
82362+
<span class="normal">15</span>
82363+
<span class="normal">16</span>
82364+
<span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="x">class Solution {</span>
8233482365
<span class="x"> function mostFrequent($nums, $key) {</span>
82335-
<span class="x"> $max = $maxNum = 0;</span>
82336-
<span class="x"> for ($i = 0; $i &lt; count($nums) - 1; $i++) {</span>
82337-
<span class="x"> if ($nums[$i] == $key) {</span>
82338-
<span class="x"> $hashtable[$nums[$i + 1]] += 1;</span>
82339-
<span class="x"> $tmp = $hashtable[$nums[$i + 1]];</span>
82340-
<span class="x"> if ($tmp &gt; $max) {</span>
82341-
<span class="x"> $max = $tmp;</span>
82342-
<span class="x"> $maxNum = $nums[$i + 1];</span>
82366+
<span class="x"> $cnt = array_fill(0, max($nums) + 1, 0);</span>
82367+
<span class="x"> $ans = 0;</span>
82368+
<span class="x"> $mx = 0;</span>
82369+
<span class="x"> for ($i = 0; $i &lt; count($nums) - 1; ++$i) {</span>
82370+
<span class="x"> if ($nums[$i] === $key) {</span>
82371+
<span class="x"> $cnt[$nums[$i + 1]]++;</span>
82372+
<span class="x"> if ($mx &lt; $cnt[$nums[$i + 1]]) {</span>
82373+
<span class="x"> $mx = $cnt[$nums[$i + 1]];</span>
82374+
<span class="x"> $ans = $nums[$i + 1];</span>
8234382375
<span class="x"> }</span>
8234482376
<span class="x"> }</span>
8234582377
<span class="x"> }</span>
82346-
<span class="x"> return $maxNum;</span>
82378+
<span class="x"> return $ans;</span>
8234782379
<span class="x"> }</span>
8234882380
<span class="x">}</span>
8234982381
</code></pre></div></td></tr></table></div>

0 commit comments

Comments
 (0)