|
21250 | 21250 | </span> |
21251 | 21251 | </a> |
21252 | 21252 |
|
| 21253 | +</li> |
| 21254 | + |
| 21255 | + <li class="md-nav__item"> |
| 21256 | + <a href="#solution-2-space-optimized-greedy" class="md-nav__link"> |
| 21257 | + <span class="md-ellipsis"> |
| 21258 | + Solution 2: Space Optimized Greedy |
| 21259 | + </span> |
| 21260 | + </a> |
| 21261 | + |
21253 | 21262 | </li> |
21254 | 21263 |
|
21255 | 21264 | </ul> |
@@ -79978,6 +79987,87 @@ <h3 id="solution-1-greedy-algorithm">Solution 1: Greedy Algorithm</h3> |
79978 | 79987 | </div> |
79979 | 79988 | <!-- solution:end --> |
79980 | 79989 |
|
| 79990 | +<!-- solution:start --> |
| 79991 | + |
| 79992 | +<h3 id="solution-2-space-optimized-greedy">Solution 2: Space Optimized Greedy</h3> |
| 79993 | +<div class="tabbed-set tabbed-alternate" data-tabs="2:2"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">TypeScript</label><label for="__tabbed_2_2">JavaScript</label></div> |
| 79994 | +<div class="tabbed-content"> |
| 79995 | +<div class="tabbed-block"> |
| 79996 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
| 79997 | +<span class="normal"> 2</span> |
| 79998 | +<span class="normal"> 3</span> |
| 79999 | +<span class="normal"> 4</span> |
| 80000 | +<span class="normal"> 5</span> |
| 80001 | +<span class="normal"> 6</span> |
| 80002 | +<span class="normal"> 7</span> |
| 80003 | +<span class="normal"> 8</span> |
| 80004 | +<span class="normal"> 9</span> |
| 80005 | +<span class="normal">10</span> |
| 80006 | +<span class="normal">11</span> |
| 80007 | +<span class="normal">12</span> |
| 80008 | +<span class="normal">13</span> |
| 80009 | +<span class="normal">14</span> |
| 80010 | +<span class="normal">15</span> |
| 80011 | +<span class="normal">16</span> |
| 80012 | +<span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">maximumSwap</span><span class="p">(</span><span class="nx">num</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> |
| 80013 | +<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[...</span><span class="nb">String</span><span class="p">(</span><span class="nx">num</span><span class="p">)];</span> |
| 80014 | +<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="p">[</span><span class="nx">min</span><span class="p">,</span><span class="w"> </span><span class="nx">max</span><span class="p">,</span><span class="w"> </span><span class="nx">maybeMax</span><span class="p">,</span><span class="w"> </span><span class="nx">n</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="o">-</span><span class="mf">1</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">,</span><span class="w"> </span><span class="nx">ans</span><span class="p">.</span><span class="nx">length</span><span class="p">];</span> |
| 80015 | + |
| 80016 | +<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">n</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="mf">0</span><span class="p">;</span><span class="w"> </span><span class="nx">i</span><span class="o">--</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 80017 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">ans</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="p">(</span><span class="nx">ans</span><span class="p">[</span><span class="nx">maybeMax</span><span class="p">]</span><span class="w"> </span><span class="o">??</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">))</span><span class="w"> </span><span class="nx">maybeMax</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">i</span><span class="p">;</span> |
| 80018 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">maybeMax</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="nx">ans</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">ans</span><span class="p">[</span><span class="nx">maybeMax</span><span class="p">])</span><span class="w"> </span><span class="p">{</span> |
| 80019 | +<span class="w"> </span><span class="p">[</span><span class="nx">min</span><span class="p">,</span><span class="w"> </span><span class="nx">max</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="nx">i</span><span class="p">,</span><span class="w"> </span><span class="nx">maybeMax</span><span class="p">];</span> |
| 80020 | +<span class="w"> </span><span class="p">}</span> |
| 80021 | +<span class="w"> </span><span class="p">}</span> |
| 80022 | + |
| 80023 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">~</span><span class="nx">min</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">~</span><span class="nx">max</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="nx">min</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">max</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 80024 | +<span class="w"> </span><span class="p">[</span><span class="nx">ans</span><span class="p">[</span><span class="nx">min</span><span class="p">],</span><span class="w"> </span><span class="nx">ans</span><span class="p">[</span><span class="nx">max</span><span class="p">]]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="nx">ans</span><span class="p">[</span><span class="nx">max</span><span class="p">],</span><span class="w"> </span><span class="nx">ans</span><span class="p">[</span><span class="nx">min</span><span class="p">]];</span> |
| 80025 | +<span class="w"> </span><span class="p">}</span> |
| 80026 | + |
| 80027 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="o">+</span><span class="nx">ans</span><span class="p">.</span><span class="nx">join</span><span class="p">(</span><span class="s1">''</span><span class="p">);</span> |
| 80028 | +<span class="p">}</span> |
| 80029 | +</code></pre></div></td></tr></table></div> |
| 80030 | +</div> |
| 80031 | +<div class="tabbed-block"> |
| 80032 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
| 80033 | +<span class="normal"> 2</span> |
| 80034 | +<span class="normal"> 3</span> |
| 80035 | +<span class="normal"> 4</span> |
| 80036 | +<span class="normal"> 5</span> |
| 80037 | +<span class="normal"> 6</span> |
| 80038 | +<span class="normal"> 7</span> |
| 80039 | +<span class="normal"> 8</span> |
| 80040 | +<span class="normal"> 9</span> |
| 80041 | +<span class="normal">10</span> |
| 80042 | +<span class="normal">11</span> |
| 80043 | +<span class="normal">12</span> |
| 80044 | +<span class="normal">13</span> |
| 80045 | +<span class="normal">14</span> |
| 80046 | +<span class="normal">15</span> |
| 80047 | +<span class="normal">16</span> |
| 80048 | +<span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">maximumSwap</span><span class="p">(</span><span class="nx">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 80049 | +<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[...</span><span class="nb">String</span><span class="p">(</span><span class="nx">num</span><span class="p">)];</span> |
| 80050 | +<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="p">[</span><span class="nx">min</span><span class="p">,</span><span class="w"> </span><span class="nx">max</span><span class="p">,</span><span class="w"> </span><span class="nx">maybeMax</span><span class="p">,</span><span class="w"> </span><span class="nx">n</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="o">-</span><span class="mf">1</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">,</span><span class="w"> </span><span class="nx">ans</span><span class="p">.</span><span class="nx">length</span><span class="p">];</span> |
| 80051 | + |
| 80052 | +<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">n</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="mf">0</span><span class="p">;</span><span class="w"> </span><span class="nx">i</span><span class="o">--</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 80053 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">ans</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="p">(</span><span class="nx">ans</span><span class="p">[</span><span class="nx">maybeMax</span><span class="p">]</span><span class="w"> </span><span class="o">??</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">))</span><span class="w"> </span><span class="nx">maybeMax</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">i</span><span class="p">;</span> |
| 80054 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">maybeMax</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="nx">ans</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">ans</span><span class="p">[</span><span class="nx">maybeMax</span><span class="p">])</span><span class="w"> </span><span class="p">{</span> |
| 80055 | +<span class="w"> </span><span class="p">[</span><span class="nx">min</span><span class="p">,</span><span class="w"> </span><span class="nx">max</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="nx">i</span><span class="p">,</span><span class="w"> </span><span class="nx">maybeMax</span><span class="p">];</span> |
| 80056 | +<span class="w"> </span><span class="p">}</span> |
| 80057 | +<span class="w"> </span><span class="p">}</span> |
| 80058 | + |
| 80059 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">~</span><span class="nx">min</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">~</span><span class="nx">max</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="nx">min</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">max</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 80060 | +<span class="w"> </span><span class="p">[</span><span class="nx">ans</span><span class="p">[</span><span class="nx">min</span><span class="p">],</span><span class="w"> </span><span class="nx">ans</span><span class="p">[</span><span class="nx">max</span><span class="p">]]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="nx">ans</span><span class="p">[</span><span class="nx">max</span><span class="p">],</span><span class="w"> </span><span class="nx">ans</span><span class="p">[</span><span class="nx">min</span><span class="p">]];</span> |
| 80061 | +<span class="w"> </span><span class="p">}</span> |
| 80062 | + |
| 80063 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="o">+</span><span class="nx">ans</span><span class="p">.</span><span class="nx">join</span><span class="p">(</span><span class="s1">''</span><span class="p">);</span> |
| 80064 | +<span class="p">}</span> |
| 80065 | +</code></pre></div></td></tr></table></div> |
| 80066 | +</div> |
| 80067 | +</div> |
| 80068 | +</div> |
| 80069 | +<!-- solution:end --> |
| 80070 | + |
79981 | 80071 | <!-- problem:end --> |
79982 | 80072 |
|
79983 | 80073 |
|
@@ -80007,6 +80097,11 @@ <h3 id="solution-1-greedy-algorithm">Solution 1: Greedy Algorithm</h3> |
80007 | 80097 |
|
80008 | 80098 | <nav> |
80009 | 80099 |
|
| 80100 | + <a href="https://github.com/rain84" class="md-author" title="@rain84"> |
| 80101 | + |
| 80102 | + <img src="https://avatars.githubusercontent.com/u/1732547?v=4&size=72" alt="rain84"> |
| 80103 | + </a> |
| 80104 | + |
80010 | 80105 | <a href="https://github.com/yanglbme" class="md-author" title="@yanglbme"> |
80011 | 80106 |
|
80012 | 80107 | <img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme"> |
|
0 commit comments