|
54952 | 54952 | <ul class="md-nav__list">
|
54953 | 54953 |
|
54954 | 54954 | <li class="md-nav__item">
|
54955 |
| - <a href="#solution-1" class="md-nav__link"> |
| 54955 | + <a href="#solution-1-simulation" class="md-nav__link"> |
54956 | 54956 | <span class="md-ellipsis">
|
54957 |
| - Solution 1 |
| 54957 | + Solution 1: Simulation |
54958 | 54958 | </span>
|
54959 | 54959 | </a>
|
54960 | 54960 |
|
@@ -76580,7 +76580,9 @@ <h2 id="description">Description</h2>
|
76580 | 76580 | <h2 id="solutions">Solutions</h2>
|
76581 | 76581 | <!-- solution:start -->
|
76582 | 76582 |
|
76583 |
| -<h3 id="solution-1">Solution 1</h3> |
| 76583 | +<h3 id="solution-1-simulation">Solution 1: Simulation</h3> |
| 76584 | +<p>We can split the sentence into an array of words by spaces, then iterate through the array of words. For each word, if it represents a price, we update it to the price after applying the discount. Finally, we concatenate the updated array of words into a space-separated string.</p> |
| 76585 | +<p>The time complexity is $O(n)$, and the space complexity is $O(n)$. Here, $n$ is the length of the string <code>sentence</code>.</p> |
76584 | 76586 | <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>
|
76585 | 76587 | <div class="tabbed-content">
|
76586 | 76588 | <div class="tabbed-block">
|
@@ -76754,14 +76756,14 @@ <h3 id="solution-1">Solution 1</h3>
|
76754 | 76756 | <span class="normal">10</span>
|
76755 | 76757 | <span class="normal">11</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">discountPrices</span><span class="p">(</span><span class="nx">sentence</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">discount</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">string</span><span class="w"> </span><span class="p">{</span>
|
76756 | 76758 | <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">sell</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mf">100</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">discount</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mf">100</span><span class="p">;</span>
|
76757 |
| -<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">reg</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">RegExp</span><span class="p">(</span><span class="sr">/^(\$)(([1-9]\d*\.?\d*)|(0\.\d*))$/g</span><span class="p">);</span> |
76758 |
| -<span class="w"> </span><span class="kd">let</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">sentence</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">).</span><span class="nx">map</span><span class="p">(</span><span class="nx">d</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> |
| 76759 | +<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">reg</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">RegExp</span><span class="p">(</span><span class="sr">/^(\$)(([1-9]\d*\.?\d*)|(0\.\d*))$/g</span><span class="p">);</span> |
| 76760 | +<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">words</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">sentence</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">).</span><span class="nx">map</span><span class="p">(</span><span class="nx">d</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> |
76759 | 76761 | <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">reg</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">d</span><span class="p">))</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">d</span><span class="p">;</span>
|
76760 | 76762 | <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">d</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="nx">reg</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="nx">s</span><span class="p">,</span><span class="w"> </span><span class="nx">$1</span><span class="p">,</span><span class="w"> </span><span class="nx">$2</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span>
|
76761 | 76763 | <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="sb">`$</span><span class="si">${</span><span class="p">(</span><span class="nx">sell</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nx">$2</span><span class="p">).</span><span class="nx">toFixed</span><span class="p">(</span><span class="mf">2</span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">;</span>
|
76762 | 76764 | <span class="w"> </span><span class="p">});</span>
|
76763 | 76765 | <span class="w"> </span><span class="p">});</span>
|
76764 |
| -<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">join</span><span class="p">(</span><span class="s1">' '</span><span class="p">);</span> |
| 76766 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">words</span><span class="p">.</span><span class="nx">join</span><span class="p">(</span><span class="s1">' '</span><span class="p">);</span> |
76765 | 76767 | <span class="p">}</span>
|
76766 | 76768 | </code></pre></div></td></tr></table></div>
|
76767 | 76769 | </div>
|
|
0 commit comments