Skip to content

Commit 5268a64

Browse files
committed
deploy: 472fab5
1 parent efba322 commit 5268a64

File tree

6 files changed

+274
-248
lines changed

6 files changed

+274
-248
lines changed

en/lc/2154/index.html

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -52202,9 +52202,9 @@
5220252202
<ul class="md-nav__list">
5220352203

5220452204
<li class="md-nav__item">
52205-
<a href="#solution-1" class="md-nav__link">
52205+
<a href="#solution-1-hash-table" class="md-nav__link">
5220652206
<span class="md-ellipsis">
52207-
Solution 1
52207+
Solution 1: Hash Table
5220852208
</span>
5220952209
</a>
5221052210

@@ -77328,7 +77328,10 @@ <h2 id="description">Description</h2>
7732877328
<h2 id="solutions">Solutions</h2>
7732977329
<!-- solution:start -->
7733077330

77331-
<h3 id="solution-1">Solution 1</h3>
77331+
<h3 id="solution-1-hash-table">Solution 1: Hash Table</h3>
77332+
<p>We use a hash table $\textit{s}$ to record all the numbers in the array $\textit{nums}$.</p>
77333+
<p>Next, starting from $\textit{original}$, if $\textit{original}$ is in $\textit{s}$, we multiply $\textit{original}$ by $2$ until $\textit{original}$ is not in $\textit{s}$ anymore, then return $\textit{original}$.</p>
77334+
<p>The time complexity is $O(n)$, and the space complexity is $O(n)$. Here, $n$ is the length of the array $\textit{nums}$.</p>
7733277335
<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>
7733377336
<div class="tabbed-content">
7733477337
<div class="tabbed-block">
@@ -77374,20 +77377,22 @@ <h3 id="solution-1">Solution 1</h3>
7737477377
</code></pre></div></td></tr></table></div>
7737577378
</div>
7737677379
<div class="tabbed-block">
77377-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
77378-
<span class="normal">2</span>
77379-
<span class="normal">3</span>
77380-
<span class="normal">4</span>
77381-
<span class="normal">5</span>
77382-
<span class="normal">6</span>
77383-
<span class="normal">7</span>
77384-
<span class="normal">8</span>
77385-
<span class="normal">9</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
77380+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
77381+
<span class="normal"> 2</span>
77382+
<span class="normal"> 3</span>
77383+
<span class="normal"> 4</span>
77384+
<span class="normal"> 5</span>
77385+
<span class="normal"> 6</span>
77386+
<span class="normal"> 7</span>
77387+
<span class="normal"> 8</span>
77388+
<span class="normal"> 9</span>
77389+
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
7738677390
<span class="k">public</span><span class="o">:</span>
7738777391
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">findFinalValue</span><span class="p">(</span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;&amp;</span><span class="w"> </span><span class="n">nums</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">original</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77388-
<span class="w"> </span><span class="n">unordered_set</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="w"> </span><span class="n">s</span><span class="p">;</span>
77389-
<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">num</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">nums</span><span class="p">)</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="n">insert</span><span class="p">(</span><span class="n">num</span><span class="p">);</span>
77390-
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">s</span><span class="p">.</span><span class="n">count</span><span class="p">(</span><span class="n">original</span><span class="p">))</span><span class="w"> </span><span class="n">original</span><span class="w"> </span><span class="o">&lt;&lt;=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
77392+
<span class="w"> </span><span class="n">unordered_set</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="w"> </span><span class="n">s</span><span class="p">(</span><span class="n">nums</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span><span class="w"> </span><span class="n">nums</span><span class="p">.</span><span class="n">end</span><span class="p">());</span>
77393+
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">s</span><span class="p">.</span><span class="n">contains</span><span class="p">(</span><span class="n">original</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
77394+
<span class="w"> </span><span class="n">original</span><span class="w"> </span><span class="o">&lt;&lt;=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
77395+
<span class="w"> </span><span class="p">}</span>
7739177396
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">original</span><span class="p">;</span>
7739277397
<span class="w"> </span><span class="p">}</span>
7739377398
<span class="p">};</span>
@@ -77404,9 +77409,9 @@ <h3 id="solution-1">Solution 1</h3>
7740477409
<span class="normal"> 8</span>
7740577410
<span class="normal"> 9</span>
7740677411
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">func</span><span class="w"> </span><span class="nx">findFinalValue</span><span class="p">(</span><span class="nx">nums</span><span class="w"> </span><span class="p">[]</span><span class="kt">int</span><span class="p">,</span><span class="w"> </span><span class="nx">original</span><span class="w"> </span><span class="kt">int</span><span class="p">)</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">{</span>
77407-
<span class="w"> </span><span class="nx">s</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nb">make</span><span class="p">(</span><span class="kd">map</span><span class="p">[</span><span class="kt">int</span><span class="p">]</span><span class="kt">bool</span><span class="p">)</span>
77408-
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">num</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="nx">nums</span><span class="w"> </span><span class="p">{</span>
77409-
<span class="w"> </span><span class="nx">s</span><span class="p">[</span><span class="nx">num</span><span class="p">]</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="kc">true</span>
77412+
<span class="w"> </span><span class="nx">s</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="kd">map</span><span class="p">[</span><span class="kt">int</span><span class="p">]</span><span class="kt">bool</span><span class="p">{}</span>
77413+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="nx">_</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="k">range</span><span class="w"> </span><span class="nx">nums</span><span class="w"> </span><span class="p">{</span>
77414+
<span class="w"> </span><span class="nx">s</span><span class="p">[</span><span class="nx">x</span><span class="p">]</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="kc">true</span>
7741077415
<span class="w"> </span><span class="p">}</span>
7741177416
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="nx">s</span><span class="p">[</span><span class="nx">original</span><span class="p">]</span><span class="w"> </span><span class="p">{</span>
7741277417
<span class="w"> </span><span class="nx">original</span><span class="w"> </span><span class="o">&lt;&lt;=</span><span class="w"> </span><span class="mi">1</span>
@@ -77423,9 +77428,9 @@ <h3 id="solution-1">Solution 1</h3>
7742377428
<span class="normal">5</span>
7742477429
<span class="normal">6</span>
7742577430
<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">findFinalValue</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">original</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>
77426-
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">set</span><span class="o">:</span><span class="w"> </span><span class="kt">Set</span><span class="o">&lt;</span><span class="kt">number</span><span class="o">&gt;</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">nums</span><span class="p">);</span>
77427-
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="nx">set</span><span class="p">.</span><span class="nx">has</span><span class="p">(</span><span class="nx">original</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
77428-
<span class="w"> </span><span class="nx">original</span><span class="w"> </span><span class="o">*=</span><span class="w"> </span><span class="mf">2</span><span class="p">;</span>
77431+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">s</span><span class="o">:</span><span class="w"> </span><span class="kt">Set</span><span class="o">&lt;</span><span class="kt">number</span><span class="o">&gt;</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">nums</span><span class="p">]);</span>
77432+
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">has</span><span class="p">(</span><span class="nx">original</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
77433+
<span class="w"> </span><span class="nx">original</span><span class="w"> </span><span class="o">&lt;&lt;=</span><span class="w"> </span><span class="mf">1</span><span class="p">;</span>
7742977434
<span class="w"> </span><span class="p">}</span>
7743077435
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">original</span><span class="p">;</span>
7743177436
<span class="p">}</span>

0 commit comments

Comments
 (0)