Skip to content

Commit e00885b

Browse files
committed
deploy: 910a556
1 parent 7b5b45c commit e00885b

File tree

12 files changed

+430
-336
lines changed

12 files changed

+430
-336
lines changed

en/lc/10/index.html

Lines changed: 86 additions & 30 deletions
Large diffs are not rendered by default.

en/lc/12/index.html

Lines changed: 49 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -76564,7 +76564,7 @@ <h2 id="solutions">Solutions</h2>
7656476564
<h3 id="solution-1-greedy">Solution 1: Greedy</h3>
7656576565
<p>We can first list all possible symbols $cs$ and their corresponding values $vs$, then enumerate each value $vs[i]$ from large to small. Each time, we use as many symbols $cs[i]$ corresponding to this value as possible, until the number $num$ becomes $0$.</p>
7656676566
<p>The time complexity is $O(m)$, and the space complexity is $O(m)$. Here, $m$ is the number of symbols.</p>
76567-
<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">C#</label><label for="__tabbed_1_7">PHP</label></div>
76567+
<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">Rust</label><label for="__tabbed_1_7">C#</label><label for="__tabbed_1_8">PHP</label></div>
7656876568
<div class="tabbed-content">
7656976569
<div class="tabbed-block">
7657076570
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -76718,6 +76718,42 @@ <h3 id="solution-1-greedy">Solution 1: Greedy</h3>
7671876718
<span class="normal">11</span>
7671976719
<span class="normal">12</span>
7672076720
<span class="normal">13</span>
76721+
<span class="normal">14</span>
76722+
<span class="normal">15</span>
76723+
<span class="normal">16</span>
76724+
<span class="normal">17</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>
76725+
<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">int_to_roman</span><span class="p">(</span><span class="n">num</span><span class="p">:</span><span class="w"> </span><span class="kt">i32</span><span class="p">)</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="nb">String</span><span class="w"> </span><span class="p">{</span>
76726+
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="n">cs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;M&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;CM&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;D&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;CD&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;C&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;XC&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;L&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;XL&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;X&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;IX&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;V&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;IV&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;I&quot;</span><span class="p">];</span>
76727+
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="n">vs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="mi">1000</span><span class="p">,</span><span class="w"> </span><span class="mi">900</span><span class="p">,</span><span class="w"> </span><span class="mi">500</span><span class="p">,</span><span class="w"> </span><span class="mi">400</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">90</span><span class="p">,</span><span class="w"> </span><span class="mi">50</span><span class="p">,</span><span class="w"> </span><span class="mi">40</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">9</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">];</span>
76728+
<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">num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">num</span><span class="p">;</span>
76729+
<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">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">String</span><span class="p">::</span><span class="n">new</span><span class="p">();</span>
76730+
76731+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">v</span><span class="p">)</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">vs</span><span class="p">.</span><span class="n">iter</span><span class="p">().</span><span class="n">enumerate</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
76732+
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="n">num</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="n">v</span><span class="w"> </span><span class="p">{</span>
76733+
<span class="w"> </span><span class="n">num</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="n">v</span><span class="p">;</span>
76734+
<span class="w"> </span><span class="n">ans</span><span class="p">.</span><span class="n">push_str</span><span class="p">(</span><span class="n">cs</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
76735+
<span class="w"> </span><span class="p">}</span>
76736+
<span class="w"> </span><span class="p">}</span>
76737+
76738+
<span class="w"> </span><span class="n">ans</span>
76739+
<span class="w"> </span><span class="p">}</span>
76740+
<span class="p">}</span>
76741+
</code></pre></div></td></tr></table></div>
76742+
</div>
76743+
<div class="tabbed-block">
76744+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
76745+
<span class="normal"> 2</span>
76746+
<span class="normal"> 3</span>
76747+
<span class="normal"> 4</span>
76748+
<span class="normal"> 5</span>
76749+
<span class="normal"> 6</span>
76750+
<span class="normal"> 7</span>
76751+
<span class="normal"> 8</span>
76752+
<span class="normal"> 9</span>
76753+
<span class="normal">10</span>
76754+
<span class="normal">11</span>
76755+
<span class="normal">12</span>
76756+
<span class="normal">13</span>
7672176757
<span class="normal">14</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">public</span><span class="w"> </span><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
7672276758
<span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="kt">string</span><span class="w"> </span><span class="nf">IntToRoman</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">num</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
7672376759
<span class="w"> </span><span class="n">List</span><span class="o">&lt;</span><span class="kt">string</span><span class="o">&gt;</span><span class="w"> </span><span class="n">cs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">List</span><span class="o">&lt;</span><span class="kt">string</span><span class="o">&gt;</span><span class="p">{</span><span class="s">&quot;M&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;CM&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;D&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;CD&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;C&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;XC&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;L&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;XL&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;X&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;IX&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;V&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;IV&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;I&quot;</span><span class="p">};</span>
@@ -76754,54 +76790,24 @@ <h3 id="solution-1-greedy">Solution 1: Greedy</h3>
7675476790
<span class="normal">17</span>
7675576791
<span class="normal">18</span>
7675676792
<span class="normal">19</span>
76757-
<span class="normal">20</span>
76758-
<span class="normal">21</span>
76759-
<span class="normal">22</span>
76760-
<span class="normal">23</span>
76761-
<span class="normal">24</span>
76762-
<span class="normal">25</span>
76763-
<span class="normal">26</span>
76764-
<span class="normal">27</span>
76765-
<span class="normal">28</span>
76766-
<span class="normal">29</span>
76767-
<span class="normal">30</span>
76768-
<span class="normal">31</span>
76769-
<span class="normal">32</span>
76770-
<span class="normal">33</span>
76771-
<span class="normal">34</span>
76772-
<span class="normal">35</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="x">class Solution {</span>
76793+
<span class="normal">20</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="x">class Solution {</span>
7677376794
<span class="x"> /**</span>
76774-
<span class="x"> * @param int $num</span>
76775-
<span class="x"> * @return string</span>
76795+
<span class="x"> * @param Integer $num</span>
76796+
<span class="x"> * @return String</span>
7677676797
<span class="x"> */</span>
76777-
7677876798
<span class="x"> function intToRoman($num) {</span>
76779-
<span class="x"> $values = [</span>
76780-
<span class="x"> &#39;M&#39; =&gt; 1000,</span>
76781-
<span class="x"> &#39;CM&#39; =&gt; 900,</span>
76782-
<span class="x"> &#39;D&#39; =&gt; 500,</span>
76783-
<span class="x"> &#39;CD&#39; =&gt; 400,</span>
76784-
<span class="x"> &#39;C&#39; =&gt; 100,</span>
76785-
<span class="x"> &#39;XC&#39; =&gt; 90,</span>
76786-
<span class="x"> &#39;L&#39; =&gt; 50,</span>
76787-
<span class="x"> &#39;XL&#39; =&gt; 40,</span>
76788-
<span class="x"> &#39;X&#39; =&gt; 10,</span>
76789-
<span class="x"> &#39;IX&#39; =&gt; 9,</span>
76790-
<span class="x"> &#39;V&#39; =&gt; 5,</span>
76791-
<span class="x"> &#39;IV&#39; =&gt; 4,</span>
76792-
<span class="x"> &#39;I&#39; =&gt; 1,</span>
76793-
<span class="x"> ];</span>
76794-
76795-
<span class="x"> $result = &#39;&#39;;</span>
76796-
76797-
<span class="x"> foreach ($values as $roman =&gt; $value) {</span>
76798-
<span class="x"> while ($num &gt;= $value) {</span>
76799-
<span class="x"> $result .= $roman;</span>
76800-
<span class="x"> $num -= $value;</span>
76799+
<span class="x"> $cs = [&#39;M&#39;, &#39;CM&#39;, &#39;D&#39;, &#39;CD&#39;, &#39;C&#39;, &#39;XC&#39;, &#39;L&#39;, &#39;XL&#39;, &#39;X&#39;, &#39;IX&#39;, &#39;V&#39;, &#39;IV&#39;, &#39;I&#39;];</span>
76800+
<span class="x"> $vs = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];</span>
76801+
<span class="x"> $ans = &#39;&#39;;</span>
76802+
76803+
<span class="x"> foreach ($vs as $i =&gt; $v) {</span>
76804+
<span class="x"> while ($num &gt;= $v) {</span>
76805+
<span class="x"> $num -= $v;</span>
76806+
<span class="x"> $ans .= $cs[$i];</span>
7680176807
<span class="x"> }</span>
7680276808
<span class="x"> }</span>
7680376809

76804-
<span class="x"> return $result;</span>
76810+
<span class="x"> return $ans;</span>
7680576811
<span class="x"> }</span>
7680676812
<span class="x">}</span>
7680776813
</code></pre></div></td></tr></table></div>

0 commit comments

Comments
 (0)