|
54860 | 54860 | <ul class="md-nav__list">
|
54861 | 54861 |
|
54862 | 54862 | <li class="md-nav__item">
|
54863 |
| - <a href="#solution-1" class="md-nav__link"> |
| 54863 | + <a href="#solution-1-counting" class="md-nav__link"> |
54864 | 54864 | <span class="md-ellipsis">
|
54865 |
| - Solution 1 |
| 54865 | + Solution 1: Counting |
54866 | 54866 | </span>
|
54867 | 54867 | </a>
|
54868 | 54868 |
|
@@ -77918,7 +77918,9 @@ <h2 id="description">Description</h2>
|
77918 | 77918 | <h2 id="solutions">Solutions</h2>
|
77919 | 77919 | <!-- solution:start -->
|
77920 | 77920 |
|
77921 |
| -<h3 id="solution-1">Solution 1</h3> |
| 77921 | +<h3 id="solution-1-counting">Solution 1: Counting</h3> |
| 77922 | +<p>We can traverse the string $\textit{s}$ and count the number of characters that are equal to $\textit{letter}$. Then, we calculate the percentage using the formula $\textit{count} \times 100 \, / \, \textit{len}(\textit{s})$.</p> |
| 77923 | +<p>Time complexity is $O(n)$, where $n$ is the length of the string $\textit{s}$. Space complexity is $O(1)$.</p> |
77922 | 77924 | <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">Rust</label></div>
|
77923 | 77925 | <div class="tabbed-content">
|
77924 | 77926 | <div class="tabbed-block">
|
@@ -77959,76 +77961,42 @@ <h3 id="solution-1">Solution 1</h3>
|
77959 | 77961 | <span class="normal">3</span>
|
77960 | 77962 | <span class="normal">4</span>
|
77961 | 77963 | <span class="normal">5</span>
|
77962 |
| -<span class="normal">6</span> |
77963 |
| -<span class="normal">7</span> |
77964 |
| -<span class="normal">8</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> |
| 77964 | +<span class="normal">6</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> |
77965 | 77965 | <span class="k">public</span><span class="o">:</span>
|
77966 | 77966 | <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">percentageLetter</span><span class="p">(</span><span class="n">string</span><span class="w"> </span><span class="n">s</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">letter</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
77967 |
| -<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> |
77968 |
| -<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">char</span><span class="o">&</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">s</span><span class="p">)</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">letter</span><span class="p">;</span> |
77969 |
| -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">100</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="n">size</span><span class="p">();</span> |
| 77967 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">100</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ranges</span><span class="o">::</span><span class="n">count</span><span class="p">(</span><span class="n">s</span><span class="p">,</span><span class="w"> </span><span class="n">letter</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="n">size</span><span class="p">();</span> |
77970 | 77968 | <span class="w"> </span><span class="p">}</span>
|
77971 | 77969 | <span class="p">};</span>
|
77972 | 77970 | </code></pre></div></td></tr></table></div>
|
77973 | 77971 | </div>
|
77974 | 77972 | <div class="tabbed-block">
|
77975 | 77973 | <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
|
77976 | 77974 | <span class="normal">2</span>
|
77977 |
| -<span class="normal">3</span> |
77978 |
| -<span class="normal">4</span> |
77979 |
| -<span class="normal">5</span> |
77980 |
| -<span class="normal">6</span> |
77981 |
| -<span class="normal">7</span> |
77982 |
| -<span class="normal">8</span> |
77983 |
| -<span class="normal">9</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">func</span><span class="w"> </span><span class="nx">percentageLetter</span><span class="p">(</span><span class="nx">s</span><span class="w"> </span><span class="kt">string</span><span class="p">,</span><span class="w"> </span><span class="nx">letter</span><span class="w"> </span><span class="kt">byte</span><span class="p">)</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">{</span> |
77984 |
| -<span class="w"> </span><span class="nx">cnt</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="mi">0</span> |
77985 |
| -<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="nx">i</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">s</span><span class="w"> </span><span class="p">{</span> |
77986 |
| -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nx">s</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">letter</span><span class="w"> </span><span class="p">{</span> |
77987 |
| -<span class="w"> </span><span class="nx">cnt</span><span class="o">++</span> |
77988 |
| -<span class="w"> </span><span class="p">}</span> |
77989 |
| -<span class="w"> </span><span class="p">}</span> |
77990 |
| -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">cnt</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">100</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nb">len</span><span class="p">(</span><span class="nx">s</span><span class="p">)</span> |
| 77975 | +<span class="normal">3</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">func</span><span class="w"> </span><span class="nx">percentageLetter</span><span class="p">(</span><span class="nx">s</span><span class="w"> </span><span class="kt">string</span><span class="p">,</span><span class="w"> </span><span class="nx">letter</span><span class="w"> </span><span class="kt">byte</span><span class="p">)</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">{</span> |
| 77976 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">strings</span><span class="p">.</span><span class="nx">Count</span><span class="p">(</span><span class="nx">s</span><span class="p">,</span><span class="w"> </span><span class="nb">string</span><span class="p">(</span><span class="nx">letter</span><span class="p">))</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">100</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nb">len</span><span class="p">(</span><span class="nx">s</span><span class="p">)</span> |
77991 | 77977 | <span class="p">}</span>
|
77992 | 77978 | </code></pre></div></td></tr></table></div>
|
77993 | 77979 | </div>
|
77994 | 77980 | <div class="tabbed-block">
|
77995 | 77981 | <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
|
77996 | 77982 | <span class="normal">2</span>
|
77997 | 77983 | <span class="normal">3</span>
|
77998 |
| -<span class="normal">4</span> |
77999 |
| -<span class="normal">5</span> |
78000 |
| -<span class="normal">6</span> |
78001 |
| -<span class="normal">7</span> |
78002 |
| -<span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">percentageLetter</span><span class="p">(</span><span class="nx">s</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">letter</span><span class="o">:</span><span class="w"> </span><span class="kt">string</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> |
78003 |
| -<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">count</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span> |
78004 |
| -<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">total</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> |
78005 |
| -<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="k">of</span><span class="w"> </span><span class="nx">s</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
78006 |
| -<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">letter</span><span class="p">)</span><span class="w"> </span><span class="nx">count</span><span class="o">++</span><span class="p">;</span> |
78007 |
| -<span class="w"> </span><span class="p">}</span> |
78008 |
| -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">floor</span><span class="p">((</span><span class="nx">count</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nx">total</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> |
| 77984 | +<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">percentageLetter</span><span class="p">(</span><span class="nx">s</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">letter</span><span class="o">:</span><span class="w"> </span><span class="kt">string</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> |
| 77985 | +<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">count</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">s</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">filter</span><span class="p">(</span><span class="nx">c</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="nx">c</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">letter</span><span class="p">).</span><span class="nx">length</span><span class="p">;</span> |
| 77986 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">floor</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">count</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">length</span><span class="p">);</span> |
78009 | 77987 | <span class="p">}</span>
|
78010 | 77988 | </code></pre></div></td></tr></table></div>
|
78011 | 77989 | </div>
|
78012 | 77990 | <div class="tabbed-block">
|
78013 |
| -<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
78014 |
| -<span class="normal"> 2</span> |
78015 |
| -<span class="normal"> 3</span> |
78016 |
| -<span class="normal"> 4</span> |
78017 |
| -<span class="normal"> 5</span> |
78018 |
| -<span class="normal"> 6</span> |
78019 |
| -<span class="normal"> 7</span> |
78020 |
| -<span class="normal"> 8</span> |
78021 |
| -<span class="normal"> 9</span> |
78022 |
| -<span class="normal">10</span> |
78023 |
| -<span class="normal">11</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">impl</span><span class="w"> </span><span class="n">Solution</span><span class="w"> </span><span class="p">{</span> |
| 77991 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> |
| 77992 | +<span class="normal">2</span> |
| 77993 | +<span class="normal">3</span> |
| 77994 | +<span class="normal">4</span> |
| 77995 | +<span class="normal">5</span> |
| 77996 | +<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">impl</span><span class="w"> </span><span class="n">Solution</span><span class="w"> </span><span class="p">{</span> |
78024 | 77997 | <span class="w"> </span><span class="k">pub</span><span class="w"> </span><span class="k">fn</span><span class="w"> </span><span class="nf">percentage_letter</span><span class="p">(</span><span class="n">s</span><span class="p">:</span><span class="w"> </span><span class="nb">String</span><span class="p">,</span><span class="w"> </span><span class="n">letter</span><span class="p">:</span><span class="w"> </span><span class="kt">char</span><span class="p">)</span><span class="w"> </span><span class="p">-></span><span class="w"> </span><span class="kt">i32</span><span class="w"> </span><span class="p">{</span>
|
78025 |
| -<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">count</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> |
78026 |
| -<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="n">chars</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> |
78027 |
| -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">letter</span><span class="w"> </span><span class="p">{</span> |
78028 |
| -<span class="w"> </span><span class="n">count</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span> |
78029 |
| -<span class="w"> </span><span class="p">}</span> |
78030 |
| -<span class="w"> </span><span class="p">}</span> |
78031 |
| -<span class="w"> </span><span class="p">((</span><span class="n">count</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="n">len</span><span class="p">())</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">i32</span> |
| 77998 | +<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="n">count</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="n">chars</span><span class="p">().</span><span class="n">filter</span><span class="p">(</span><span class="o">|&</span><span class="n">c</span><span class="o">|</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">letter</span><span class="p">).</span><span class="n">count</span><span class="p">();</span> |
| 77999 | +<span class="w"> </span><span class="p">(</span><span class="mi">100</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">count</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">i32</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="n">len</span><span class="p">()</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">i32</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">i32</span> |
78032 | 78000 | <span class="w"> </span><span class="p">}</span>
|
78033 | 78001 | <span class="p">}</span>
|
78034 | 78002 | </code></pre></div></td></tr></table></div>
|
|
0 commit comments