@@ -77541,7 +77541,7 @@ <h2 id="description">Description</h2>
77541
77541
<pre>
77542
77542
<strong>Input:</strong> mapping = [8,9,4,0,2,1,3,5,7,6], nums = [991,338,38]
77543
77543
<strong>Output:</strong> [338,38,991]
77544
- <strong>Explanation:</strong>
77544
+ <strong>Explanation:</strong>
77545
77545
Map the number 991 as follows:
77546
77546
1. mapping[9] = 6, so all occurrences of the digit 9 will become 6.
77547
77547
2. mapping[1] = 9, so all occurrences of the digit 1 will become 9.
@@ -77579,7 +77579,7 @@ <h2 id="solutions">Solutions</h2>
77579
77579
<h3 id="solution-1-custom-sorting">Solution 1: Custom Sorting</h3>
77580
77580
<p>We traverse each element $nums[i]$ in the array $nums$, store its mapped value $y$ and index $i$ into the array $arr$, then sort the array $arr$. Finally, we extract the index $i$ from the sorted array $arr$, convert it to the element $nums[i]$ in the original array $nums$.</p>
77581
77581
<p>The time complexity is $O(n \times \log n)$, and the space complexity is $O(n)$. Where $n$ is the length of the array $nums$.</p>
77582
- <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">Rust </label><label for="__tabbed_1_7">C#</label></div>
77582
+ <div class="tabbed-set tabbed-alternate" data-tabs="1:8 "><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" /><input id="__tabbed_1_8" 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">Rust</label><label for="__tabbed_1_8 ">C#</label></div>
77583
77583
<div class="tabbed-content">
77584
77584
<div class="tabbed-block">
77585
77585
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -77844,6 +77844,54 @@ <h3 id="solution-1-custom-sorting">Solution 1: Custom Sorting</h3>
77844
77844
<span class="normal">20</span>
77845
77845
<span class="normal">21</span>
77846
77846
<span class="normal">22</span>
77847
+ <span class="normal">23</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cm">/**</span>
77848
+ <span class="cm"> * @param {number[]} mapping</span>
77849
+ <span class="cm"> * @param {number[]} nums</span>
77850
+ <span class="cm"> * @return {number[]}</span>
77851
+ <span class="cm"> */</span>
77852
+ <span class="kd">var</span><span class="w"> </span><span class="nx">sortJumbled</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">mapping</span><span class="p">,</span><span class="w"> </span><span class="nx">nums</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77853
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">n</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">length</span><span class="p">;</span>
77854
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">f</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">x</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span>
77855
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">x</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="p">{</span>
77856
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">mapping</span><span class="p">[</span><span class="mf">0</span><span class="p">];</span>
77857
+ <span class="w"> </span><span class="p">}</span>
77858
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span>
77859
+ <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">k</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">x</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="p">(</span><span class="nx">x</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mf">10</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="p">{</span>
77860
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">v</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">mapping</span><span class="p">[</span><span class="nx">x</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mf">10</span><span class="p">];</span>
77861
+ <span class="w"> </span><span class="nx">y</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">v</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nx">k</span><span class="p">;</span>
77862
+ <span class="w"> </span><span class="nx">k</span><span class="w"> </span><span class="o">*=</span><span class="w"> </span><span class="mf">10</span><span class="p">;</span>
77863
+ <span class="w"> </span><span class="p">}</span>
77864
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">y</span><span class="p">;</span>
77865
+ <span class="w"> </span><span class="p">};</span>
77866
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">arr</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">map</span><span class="p">((</span><span class="nx">x</span><span class="p">,</span><span class="w"> </span><span class="nx">i</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">[</span><span class="nx">f</span><span class="p">(</span><span class="nx">x</span><span class="p">),</span><span class="w"> </span><span class="nx">i</span><span class="p">]);</span>
77867
+ <span class="w"> </span><span class="nx">arr</span><span class="p">.</span><span class="nx">sort</span><span class="p">((</span><span class="nx">a</span><span class="p">,</span><span class="w"> </span><span class="nx">b</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">(</span><span class="nx">a</span><span class="p">[</span><span class="mf">0</span><span class="p">]</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">b</span><span class="p">[</span><span class="mf">0</span><span class="p">]</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="nx">a</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">b</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="nx">a</span><span class="p">[</span><span class="mf">0</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">b</span><span class="p">[</span><span class="mf">0</span><span class="p">]));</span>
77868
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">arr</span><span class="p">.</span><span class="nx">map</span><span class="p">(</span><span class="nx">x</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="nx">nums</span><span class="p">[</span><span class="nx">x</span><span class="p">[</span><span class="mf">1</span><span class="p">]]);</span>
77869
+ <span class="p">};</span>
77870
+ </code></pre></div></td></tr></table></div>
77871
+ </div>
77872
+ <div class="tabbed-block">
77873
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
77874
+ <span class="normal"> 2</span>
77875
+ <span class="normal"> 3</span>
77876
+ <span class="normal"> 4</span>
77877
+ <span class="normal"> 5</span>
77878
+ <span class="normal"> 6</span>
77879
+ <span class="normal"> 7</span>
77880
+ <span class="normal"> 8</span>
77881
+ <span class="normal"> 9</span>
77882
+ <span class="normal">10</span>
77883
+ <span class="normal">11</span>
77884
+ <span class="normal">12</span>
77885
+ <span class="normal">13</span>
77886
+ <span class="normal">14</span>
77887
+ <span class="normal">15</span>
77888
+ <span class="normal">16</span>
77889
+ <span class="normal">17</span>
77890
+ <span class="normal">18</span>
77891
+ <span class="normal">19</span>
77892
+ <span class="normal">20</span>
77893
+ <span class="normal">21</span>
77894
+ <span class="normal">22</span>
77847
77895
<span class="normal">23</span>
77848
77896
<span class="normal">24</span>
77849
77897
<span class="normal">25</span>
@@ -77986,6 +78034,11 @@ <h3 id="solution-1-custom-sorting">Solution 1: Custom Sorting</h3>
77986
78034
77987
78035
<nav>
77988
78036
78037
+ <a href="https://github.com/rain84" class="md-author" title="@rain84">
78038
+
78039
+ <img src="https://avatars.githubusercontent.com/u/1732547?v=4&size=72" alt="rain84">
78040
+ </a>
78041
+
77989
78042
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
77990
78043
77991
78044
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
0 commit comments